]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/AddTask_dNdPt_PbPbAOD.C
added calculation on angle
[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                                                 Int_t iFilterBit = AliAODTrack::kTrkGlobal,
4                                                 char *contName = "dNdPtPbPbAOD",
5                                                 Double_t dNClustersTPC = 0,
6                                                 Bool_t bDoCutTPCLength = kTRUE
7                                                                                           )
8 {
9   // Creates, configures and attaches to the train a cascades check task.
10   // Get the pointer to the existing analysis manager via the static access method.
11   //==============================================================================
12   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
13   if (!mgr) {
14     ::Error("AddTask_dNdPt_PbPbAOD", "No analysis manager to connect to.");
15     return NULL;
16   }   
17   
18   // Check the analysis type using the event handlers connected to the analysis manager.
19   //==============================================================================
20   if (!mgr->GetInputEventHandler()) {
21     ::Error("AddTask_dNdPt_PbPbAOD", "This task requires an input event handler");
22     return NULL;
23   }   
24   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
25   
26   // Create and configure the task
27   AlidNdPtAnalysisPbPbAOD *task = new AlidNdPtAnalysisPbPbAOD("dNdPtPbPbAOD");
28   //   UInt_t triggerMask = AliVEvent::kMB;
29   //   triggerMask |= AliVEvent::kCentral;
30   //   triggerMask |= AliVEvent::kSemiCentral;
31   
32   task->SelectCollisionCandidates(uTriggerMask);
33   
34   task->SetCutMinNCrossedRowsTPC(dNCrossedRowsTPC);
35   task->SetCutMinNClustersTPC(dNClustersTPC);
36   task->SetCutLengthInTPCPtDependent(bDoCutTPCLength);
37   //task->SetCutLengthInTPCPtDependent();
38   //task->SetPrefactorLengthInTPCPtDependent(0.85);
39 //   task->EnableRelativeCuts();
40 //   task->SetCutPercMinNClustersTPC(1.0);
41 //   task->SetCutPercMinNCrossedRowsTPC(1.0);
42   
43   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}; 
44   Int_t nBinPtCheck = sizeof(binsPtCheck)/sizeof(Double_t);
45   task->SetBinsPtCheck(nBinPtCheck, binsPtCheck);
46   
47 //   Double_t binsPhi[] = {0 ,0.10472 ,0.20944 ,0.314159 ,0.418879 ,0.523599 ,0.628319 ,0.733038 ,0.837758 ,0.942478 ,1.0472 ,1.15192 ,1.25664 ,1.36136 ,1.46608 ,1.5708 ,1.67552 ,1.78024 ,1.88496 ,1.98968 ,2.0944 ,2.19911 ,2.30383 ,2.40855 ,2.51327 ,2.61799 ,2.72271 ,2.82743 ,2.93215 ,3.03687 ,3.14159 ,3.24631 ,3.35103 ,3.45575 ,3.56047 ,3.66519 ,3.76991 ,3.87463 ,3.97935 ,4.08407 ,4.18879 ,4.29351 ,4.39823 ,4.50295 ,4.60767 ,4.71239 ,4.81711 ,4.92183 ,5.02655 ,5.13127 ,5.23599 ,5.34071 ,5.44543 ,5.55015 ,5.65487 ,5.75959 ,5.86431 ,5.96903 ,6.07375 ,6.17847 ,6.28319};
48   
49   Double_t binsPhi[] = {-1.*TMath::Pi(), -2.97625, -2.8109, -2.64555, -2.4802, -2.31486, -2.14951, -1.98416, -1.81882, -1.65347, -1.48812, -1.32278, -1.15743, -0.992082, -0.826735, -0.661388, -0.496041, -0.330694, -0.165347, 0, 0.165347, 0.330694, 0.496041, 0.661388, 0.826735, 0.992082, 1.15743, 1.32278, 1.48812, 1.65347, 1.81882, 1.98416, 2.14951, 2.31486, 2.4802, 2.64555, 2.8109, 2.97625, TMath::Pi()};
50   
51   Int_t nBinPhi = sizeof(binsPhi)/sizeof(Double_t);
52   task->SetBinsPhi(nBinPhi, binsPhi);
53     
54   task->SetFilterBit(iFilterBit);
55   
56   ::Info("AddTask_dNdPt_PbPbAOD",Form("CrossedRowCut set to %.0f", task->GetCutMinNCrossedRowsTPC()));
57   ::Info("AddTask_dNdPt_PbPbAOD",Form("FilterBit set to %d", task->GetFilterBit()));
58   
59   mgr->AddTask(task);
60   
61   AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("%s", contName), TList::Class(),  AliAnalysisManager::kOutputContainer, Form("%s:dNdPtHistos", mgr->GetCommonFileName()));
62   
63   mgr->ConnectInput( task, 0, mgr->GetCommonInputContainer());
64   mgr->ConnectOutput(task, 1, coutput);
65   
66   return task;
67 }