]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/AddTask_dNdPt_PbPbAOD.C
added new geometric cut, updated setters and getters accordingly
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / ChargedHadrons / dNdPt / macros / AddTask_dNdPt_PbPbAOD.C
1 AlidNdPtAnalysisPbPbAOD *AddTask_dNdPt_PbPbAOD( UInt_t uTriggerMask = AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral , 
2                                                 Double_t dNCrossedRowsTPC = 100, 
3                                                 char *contName = "dNdPtPbPbAOD")
4 {
5   Printf("===============BAUM================");
6   // Creates, configures and attaches to the train a cascades check task.
7   // Get the pointer to the existing analysis manager via the static access method.
8   //==============================================================================
9   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10   if (!mgr) {
11     ::Error("AddTask_dNdPt_PbPbAOD", "No analysis manager to connect to.");
12     return NULL;
13   }   
14   
15   // Check the analysis type using the event handlers connected to the analysis manager.
16   //==============================================================================
17   if (!mgr->GetInputEventHandler()) {
18     ::Error("AddTask_dNdPt_PbPbAOD", "This task requires an input event handler");
19     return NULL;
20   }   
21   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
22   
23   // Create and configure the task
24   AlidNdPtAnalysisPbPbAOD *task = new AlidNdPtAnalysisPbPbAOD("dNdPtPbPbAOD");
25   //   UInt_t triggerMask = AliVEvent::kMB;
26   //   triggerMask |= AliVEvent::kCentral;
27   //   triggerMask |= AliVEvent::kSemiCentral;
28   
29   task->SelectCollisionCandidates(uTriggerMask);
30   
31   task->SetCutMinNCrossedRowsTPC(dNCrossedRowsTPC);
32   task->SetCutMinNClustersTPC(0);
33   //task->SetCutLengthInTPCPtDependent();
34   //task->SetPrefactorLengthInTPCPtDependent(0.85);
35 //   task->EnableRelativeCuts();
36 //   task->SetCutPercMinNClustersTPC(1.0);
37 //   task->SetCutPercMinNCrossedRowsTPC(1.0);
38   
39   Double_t binsPtCheck[] = {0., 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.2, 2.4, 2.6, 3.0, 4.0, 5.0, 10.0, 13.0, 15.0, 20.0, 25.0, 30.0, 40.0, 50.0, 70.0, 100.0, 150.0, 200.0}; 
40   Int_t nBinPtCheck = sizeof(binsPtCheck)/sizeof(Double_t);
41   task->SetBinsPtCheck(nBinPtCheck, binsPtCheck);
42   ::Info("AddTask_dNdPt_PbPbAOD",Form("CrossedRowCut set to %.0f", task->GetCutMinNCrossedRowsTPC()));
43   
44   mgr->AddTask(task);
45   
46   AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("%s", contName), TList::Class(),  AliAnalysisManager::kOutputContainer, Form("%s:dNdPtHistos", mgr->GetCommonFileName()));
47   
48   mgr->ConnectInput( task, 0, mgr->GetCommonInputContainer());
49   mgr->ConnectOutput(task, 1, coutput);
50   
51   return task;
52 }