20 void RunMuonQA(TString inputFileName =
"AliESDs.root", Bool_t isMC = kFALSE,
21 Bool_t selectPhysics = kTRUE, Bool_t selectMatched = kTRUE,
22 Bool_t applyAccCut = kTRUE, Bool_t selectTrigger = kFALSE,
23 UInt_t triggerMask = AliVEvent::kMUS7, Short_t selectCharge = 0)
29 Int_t mode =
GetMode(inputFileName);
31 Error(
"RunMuonQA",
"Please provide either an ESD root file or a collection of ESDs.");
56 AliAnalysisManager *mgr =
new AliAnalysisManager(
"MuonQAAnalysis");
59 AliESDInputHandler* esdH =
new AliESDInputHandler();
60 esdH->SetReadFriends(kFALSE);
61 mgr->SetInputEventHandler(esdH);
64 gROOT->LoadMacro(
"$ALICE_PHYSICS/OADB/macros/AddTaskPhysicsSelection.C");
65 AliPhysicsSelectionTask* physicsSelection = AddTaskPhysicsSelection(isMC);
66 if(!physicsSelection) {
67 Error(
"RunMuonQA",
"AliPhysicsSelectionTask not created!");
72 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/PilotTrain/AddTaskMuonQA.C");
73 AliAnalysisTaskMuonQA* muonQA = AddTaskMuonQA(selectPhysics, selectMatched, applyAccCut, selectTrigger, triggerMask, selectCharge);
75 Error(
"RunMuonQA",
"AliAnalysisTaskMuonQA not created!");
83 if (mgr->InitAnalysis()) {
85 mgr->StartAnalysis(
"local", chain);
97 else if ( inputFileName.EndsWith(
".root") )
return kLocal;
105 TAlienCollection* coll = TAlienCollection::Open(xmlfile);
107 ::Error(
"CreateChainFromTags",
"Cannot create an AliEn collection from %s", xmlfile);
111 TGridResult* tagResult = coll->GetGridResult(
"",kFALSE,kFALSE);
112 AliTagAnalysis *tagAna =
new AliTagAnalysis(
"ESD");
113 tagAna->ChainGridTags(tagResult);
115 AliRunTagCuts *runCuts =
new AliRunTagCuts();
116 AliLHCTagCuts *lhcCuts =
new AliLHCTagCuts();
117 AliDetectorTagCuts *detCuts =
new AliDetectorTagCuts();
118 AliEventTagCuts *evCuts =
new AliEventTagCuts();
121 if (!gSystem->AccessPathName(
"ConfigureCuts.C")) {
122 gROOT->LoadMacro(
"ConfigureCuts.C");
123 ConfigureCuts(runCuts, lhcCuts, detCuts, evCuts);
126 TChain *chain = tagAna->QueryTags(runCuts, lhcCuts, detCuts, evCuts);
127 if (!chain || !chain->GetNtrees())
return NULL;
136 TChain* chain =
new TChain(
"esdTree");
137 chain->Add(rootfile);
138 if (!chain->GetNtrees())
return NULL;
147 TChain* chain =
new TChain(
"esdTree");
148 ifstream inFile(esdList);
150 if (inFile.is_open()) {
151 while (! inFile.eof() ) {
152 inFileName.ReadLine(inFile,kFALSE);
153 if(!inFileName.EndsWith(
".root"))
continue;
154 chain->Add(inFileName.Data());
158 if (!chain->GetNtrees())
return NULL;
166 printf(
"*******************************\n");
167 printf(
"*** Getting the Chain ***\n");
168 printf(
"*******************************\n");
169 Int_t mode =
GetMode(inputFileName);
TChain * CreateChainFromFile(const char *rootfile)
Quality assurance of MUON ESDs.
void RunMuonQA(TString inputFileName="AliESDs.root", Bool_t isMC=kFALSE, Bool_t selectPhysics=kTRUE, Bool_t selectMatched=kTRUE, Bool_t applyAccCut=kTRUE, Bool_t selectTrigger=kFALSE, UInt_t triggerMask=AliVEvent::kMUS7, Short_t selectCharge=0)
TChain * CreateChainFromCollection(const char *xmlfile)
TChain * CreateChainFromESDList(const char *esdList)
TChain * CreateChain(TString inputFileName)
Int_t GetMode(TString inputFileName)