1 void RunAliComparisonTask(TChain *chain = 0, Bool_t aProof = kTRUE, Bool_t aDebug = kFALSE)
4 // Set mag field map (needed to propagate track to the DCA)
6 Int_t magField = 2; // 0 - 0.2 T, 1 = 0.4 T, 2 - 0.5 T
7 magFMap = new AliMagFMaps("Maps","Maps", 2, 1., 10., magField);
8 AliTracker::SetFieldMap(magFMap,kFALSE);
11 // Create global cuts objects
14 // Create ESD track reconstruction cuts
15 AliRecInfoCuts *pRecInfoCuts = new AliRecInfoCuts();
17 pRecInfoCuts->SetPtRange(0.15,200.0);
18 pRecInfoCuts->SetMaxAbsTanTheta(1.0);
19 pRecInfoCuts->SetMinNClustersTPC(10);
20 pRecInfoCuts->SetMinTPCsignalN(50);
22 pRecInfoCuts->SetHistogramsOn(kFALSE);
24 AliDebug(AliLog::kError, "ERROR: Cannot create AliRecInfoCuts object");
27 // Create MC track reconstruction cuts
28 AliMCInfoCuts *pMCInfoCuts = new AliMCInfoCuts();
30 pMCInfoCuts->SetMinRowsWithDigits(50);
31 pMCInfoCuts->SetMaxR(0.001);
32 pMCInfoCuts->SetMaxVz(0.001);
33 pMCInfoCuts->SetRangeTPCSignal(0.5,1.4);
35 AliDebug(AliLog::kError, "ERROR: Cannot AliMCInfoCuts object");
39 // Create comparison objects and set cuts
43 AliComparisonRes *pCompRes = new AliComparisonRes();
45 AliDebug(AliLog::kError, "ERROR: Cannot create AliComparisonRes object");
47 pCompRes->SetAliRecInfoCuts(pRecInfoCuts);
48 pCompRes->SetAliMCInfoCuts(pMCInfoCuts);
51 AliComparisonEff *pCompEff = new AliComparisonEff();
53 AliDebug(AliLog::kError, "ERROR: Cannot create AliComparisonEff object");
55 pCompEff->SetAliRecInfoCuts(pRecInfoCuts);
56 pCompEff->SetAliMCInfoCuts(pMCInfoCuts);
59 AliComparisonDEdx *pCompDEdx = new AliComparisonDEdx();
61 AliDebug(AliLog::kError, "ERROR: Cannot create AliComparisonDEdx object");
63 pCompDEdx->SetAliRecInfoCuts(pRecInfoCuts);
64 pCompDEdx->SetAliMCInfoCuts(pMCInfoCuts);
65 pCompDEdx->SetMCPtMin(0.5);
66 pCompDEdx->SetMCAbsTanThetaMax(0.5);
67 pCompDEdx->SetMCPdgCode(pMCInfoCuts->GetPiP()); // only pi+ particles
70 AliComparisonDCA *pCompDCA = new AliComparisonDCA();
72 AliDebug(AliLog::kError, "ERROR: Cannot create AliComparisonDCA object");
74 pCompDCA->SetAliRecInfoCuts(pRecInfoCuts);
75 pCompDCA->SetAliMCInfoCuts(pMCInfoCuts);
77 // Create the analysis manager
78 mgr = new AliAnalysisManager("testAnalysis");
81 task = new AliComparisonTask;
83 //task->SetMagField(magField);
85 task->AddComparisonObject( pCompRes );
86 task->AddComparisonObject( pCompEff );
87 task->AddComparisonObject( pCompDEdx );
88 task->AddComparisonObject( pCompDCA );
93 cInput = mgr->CreateContainer("cInput", TChain::Class(), AliAnalysisManager::kInputContainer);
94 mgr->ConnectInput(task, 0, cInput);
97 cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer,"Output.root");
98 mgr->ConnectOutput(task, 0, cOutput);
100 // Enable debug printouts
102 mgr->SetDebugLevel(2);
109 mgr->StartAnalysis((aProof) ? "proof" : "local", chain);
111 AliDebug(AliLog::kError, "ERROR: No chain available");