AliAnalysisTaskDiHadronPID* AddTaskDiHadronPIDpp( // for AOD113 2.76TeV
Int_t NDEtaBins = 32,
Int_t NDPhiBins = 32,
Int_t MinEventsForMixing = 5,
Int_t PoolTrackDepth = 2000,
Int_t PoolSize = 1000,
Bool_t MixEvents = kTRUE,
Bool_t MixTriggers = kTRUE,
Double_t MinCentrality = 5.,
Double_t MaxCentrality = 0.,
const char* CentralityEstimator = "V0M",
Double_t maxVertexZ = 10.,
Double_t maxEta = 0.8,
Double_t minAssociatedPt = 0.2,
Double_t maxAssociatedPt = 5.0,
Double_t minTriggerPt = 5.,
Double_t maxTriggerPt = 10.,
Bool_t requestAllSingleTrackHistos = kFALSE,
Int_t FilterMaskTrigger = 7,
Int_t FilterMaskAssociated = 5,
Bool_t isPbPb = kFALSE,
Bool_t isMC = kFALSE,
Int_t DebugLevel = 0,
Bool_t MakeTOFCorrelations = kTRUE,
Bool_t MakeTOFTPCCorrelationsPi = kFALSE,
Bool_t MakeTOFTPCCorrelationsKa = kFALSE,
Bool_t MakeTOFTPCCorrelationsPr = kFALSE,
Double_t TOFIntervalFactorTOFTPC = 1.,
Bool_t ExtendPtAxis = kFALSE,
const char* outputFileName = 0,
const char* containerName = "DiHadronPID",
const char* folderName = "PWGCF_DiHadronPID")
{
// Get a pointer to the analysis manager.
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
cout<<"AddTaskDiHadronPIDpp.C -> No analysis manager found."<<endl;
return 0x0;
}
// Create an instance of the task.
AliAnalysisTaskDiHadronPID* DiHadronPIDTask = new AliAnalysisTaskDiHadronPID(containerName);
// Configure the task.
DiHadronPIDTask->SetNDEtaBins(NDEtaBins);
DiHadronPIDTask->SetNDPhiBins(NDPhiBins);
DiHadronPIDTask->SetMinEventsForMixing(MinEventsForMixing);
DiHadronPIDTask->SetPoolTrackDepth(PoolTrackDepth);
DiHadronPIDTask->SetPoolSize(PoolSize);
DiHadronPIDTask->SetMixEvents(MixEvents);
DiHadronPIDTask->SetMixTriggers(MixTriggers);
DiHadronPIDTask->SetDebugLevel(DebugLevel);
DiHadronPIDTask->SetMakeTOFCorrelations(MakeTOFCorrelations);
DiHadronPIDTask->SetMakeTOFTPCCorrelationsPi(MakeTOFTPCCorrelationsPi);
DiHadronPIDTask->SetMakeTOFTPCCorrelationsKa(MakeTOFTPCCorrelationsKa);
DiHadronPIDTask->SetMakeTOFTPCCorrelationsPr(MakeTOFTPCCorrelationsPr);
DiHadronPIDTask->SetTOFIntervalFactorTOFTPC(TOFIntervalFactorTOFTPC);
DiHadronPIDTask->SetExtendPtAxis(ExtendPtAxis);
// Configure and add Event Cuts.
AliAODEventCutsDiHadronPID* eventcuts = new AliAODEventCutsDiHadronPID("EventCuts");
eventcuts->SetTrigger(AliVEvent::kMB);
// eventcuts->SetCentrality(MaxCentrality, MinCentrality);
eventcuts->SetMaxVertexZ(maxVertexZ);
// eventcuts->SetCentralityEstimator(CentralityEstimator);
eventcuts->SetIsPbPb(isPbPb);
eventcuts->SetDemandContributorsOrSPDVertex();
eventcuts->SetDebugLevel(DebugLevel);
DiHadronPIDTask->SetEventCuts(eventcuts);
// Configure and add track cuts for trigger.
AliAODTrackCutsDiHadronPID* triggercuts = new AliAODTrackCutsDiHadronPID("TrackCutsTrigger");
triggercuts->SetIsMC(isMC);
triggercuts->SetFilterMask(1<<FilterMaskTrigger);
triggercuts->SetPtRange(minTriggerPt,maxTriggerPt);
triggercuts->SetMaxEta(maxEta);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllCharged);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPositive);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegative);
if (requestAllSingleTrackHistos) {
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllPion);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPosPion);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegPion);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllKaon);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPosKaon);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegKaon);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllProton);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPosProton);
triggercuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegProton);
}
triggercuts->SetDebugLevel(DebugLevel);
DiHadronPIDTask->SetTrackCutsTrigger(triggercuts);
// Configure and add track cuts for associateds.
AliAODTrackCutsDiHadronPID* associatedscuts = new AliAODTrackCutsDiHadronPID("TrackCutsAssociated");
associatedscuts->SetIsMC(isMC);
associatedscuts->SetFilterMask(1<<FilterMaskAssociated);
associatedscuts->SetPtRange(minAssociatedPt,maxAssociatedPt);
associatedscuts->SetMaxEta(maxEta);
// associatedscuts->SetMinimumNumberOfTPCClusters(70); // marek doestn do this
associatedscuts->SetDemandSPDCluster();
ULong_t associatedflags = (UInt_t)(AliAODTrack::kTPCrefit)|(UInt_t)(AliAODTrack::kITSrefit)|(UInt_t)(AliAODTrack::kTOFout)|(UInt_t)(AliAODTrack::kTIME);
associatedscuts->SetDemandFlags(associatedflags);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllCharged);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPositive);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegative);
if (requestAllSingleTrackHistos) {
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllPion);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPosPion);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegPion);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllKaon);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPosKaon);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegKaon);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kAllProton);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kPosProton);
associatedscuts->RequestQAHistos(AliAODTrackCutsDiHadronPID::kNegProton);
}
associatedscuts->SetDebugLevel(DebugLevel);
DiHadronPIDTask->SetTrackCutsAssociated(associatedscuts);
// Add the task.
mgr->AddTask(DiHadronPIDTask);
// Data containers.
AliAnalysisDataContainer* cinput = mgr->GetCommonInputContainer();
mgr->ConnectInput(DiHadronPIDTask, 0, cinput);
if (!outputFileName) {outputFileName = AliAnalysisManager::GetCommonFileName();}
AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(containerName, TList::Class(),
AliAnalysisManager::kOutputContainer,Form("%s:%s", outputFileName, folderName));
mgr->ConnectOutput(DiHadronPIDTask,1,coutput1);
return DiHadronPIDTask;
}
AddTaskDiHadronPIDpp.C:10 AddTaskDiHadronPIDpp.C:11 AddTaskDiHadronPIDpp.C:12 AddTaskDiHadronPIDpp.C:13 AddTaskDiHadronPIDpp.C:14 AddTaskDiHadronPIDpp.C:15 AddTaskDiHadronPIDpp.C:16 AddTaskDiHadronPIDpp.C:17 AddTaskDiHadronPIDpp.C:18 AddTaskDiHadronPIDpp.C:19 AddTaskDiHadronPIDpp.C:20 AddTaskDiHadronPIDpp.C:21 AddTaskDiHadronPIDpp.C:22 AddTaskDiHadronPIDpp.C:23 AddTaskDiHadronPIDpp.C:24 AddTaskDiHadronPIDpp.C:25 AddTaskDiHadronPIDpp.C:26 AddTaskDiHadronPIDpp.C:27 AddTaskDiHadronPIDpp.C:28 AddTaskDiHadronPIDpp.C:29 AddTaskDiHadronPIDpp.C:30 AddTaskDiHadronPIDpp.C:31 AddTaskDiHadronPIDpp.C:32 AddTaskDiHadronPIDpp.C:33 AddTaskDiHadronPIDpp.C:34 AddTaskDiHadronPIDpp.C:35 AddTaskDiHadronPIDpp.C:36 AddTaskDiHadronPIDpp.C:37 AddTaskDiHadronPIDpp.C:38 AddTaskDiHadronPIDpp.C:39 AddTaskDiHadronPIDpp.C:40 AddTaskDiHadronPIDpp.C:41 AddTaskDiHadronPIDpp.C:42 AddTaskDiHadronPIDpp.C:43 AddTaskDiHadronPIDpp.C:44 AddTaskDiHadronPIDpp.C:45 AddTaskDiHadronPIDpp.C:46 AddTaskDiHadronPIDpp.C:47 AddTaskDiHadronPIDpp.C:48 AddTaskDiHadronPIDpp.C:49 AddTaskDiHadronPIDpp.C:50 AddTaskDiHadronPIDpp.C:51 AddTaskDiHadronPIDpp.C:52 AddTaskDiHadronPIDpp.C:53 AddTaskDiHadronPIDpp.C:54 AddTaskDiHadronPIDpp.C:55 AddTaskDiHadronPIDpp.C:56 AddTaskDiHadronPIDpp.C:57 AddTaskDiHadronPIDpp.C:58 AddTaskDiHadronPIDpp.C:59 AddTaskDiHadronPIDpp.C:60 AddTaskDiHadronPIDpp.C:61 AddTaskDiHadronPIDpp.C:62 AddTaskDiHadronPIDpp.C:63 AddTaskDiHadronPIDpp.C:64 AddTaskDiHadronPIDpp.C:65 AddTaskDiHadronPIDpp.C:66 AddTaskDiHadronPIDpp.C:67 AddTaskDiHadronPIDpp.C:68 AddTaskDiHadronPIDpp.C:69 AddTaskDiHadronPIDpp.C:70 AddTaskDiHadronPIDpp.C:71 AddTaskDiHadronPIDpp.C:72 AddTaskDiHadronPIDpp.C:73 AddTaskDiHadronPIDpp.C:74 AddTaskDiHadronPIDpp.C:75 AddTaskDiHadronPIDpp.C:76 AddTaskDiHadronPIDpp.C:77 AddTaskDiHadronPIDpp.C:78 AddTaskDiHadronPIDpp.C:79 AddTaskDiHadronPIDpp.C:80 AddTaskDiHadronPIDpp.C:81 AddTaskDiHadronPIDpp.C:82 AddTaskDiHadronPIDpp.C:83 AddTaskDiHadronPIDpp.C:84 AddTaskDiHadronPIDpp.C:85 AddTaskDiHadronPIDpp.C:86 AddTaskDiHadronPIDpp.C:87 AddTaskDiHadronPIDpp.C:88 AddTaskDiHadronPIDpp.C:89 AddTaskDiHadronPIDpp.C:90 AddTaskDiHadronPIDpp.C:91 AddTaskDiHadronPIDpp.C:92 AddTaskDiHadronPIDpp.C:93 AddTaskDiHadronPIDpp.C:94 AddTaskDiHadronPIDpp.C:95 AddTaskDiHadronPIDpp.C:96 AddTaskDiHadronPIDpp.C:97 AddTaskDiHadronPIDpp.C:98 AddTaskDiHadronPIDpp.C:99 AddTaskDiHadronPIDpp.C:100 AddTaskDiHadronPIDpp.C:101 AddTaskDiHadronPIDpp.C:102 AddTaskDiHadronPIDpp.C:103 AddTaskDiHadronPIDpp.C:104 AddTaskDiHadronPIDpp.C:105 AddTaskDiHadronPIDpp.C:106 AddTaskDiHadronPIDpp.C:107 AddTaskDiHadronPIDpp.C:108 AddTaskDiHadronPIDpp.C:109 AddTaskDiHadronPIDpp.C:110 AddTaskDiHadronPIDpp.C:111 AddTaskDiHadronPIDpp.C:112 AddTaskDiHadronPIDpp.C:113 AddTaskDiHadronPIDpp.C:114 AddTaskDiHadronPIDpp.C:115 AddTaskDiHadronPIDpp.C:116 AddTaskDiHadronPIDpp.C:117 AddTaskDiHadronPIDpp.C:118 AddTaskDiHadronPIDpp.C:119 AddTaskDiHadronPIDpp.C:120 AddTaskDiHadronPIDpp.C:121 AddTaskDiHadronPIDpp.C:122 AddTaskDiHadronPIDpp.C:123 AddTaskDiHadronPIDpp.C:124 AddTaskDiHadronPIDpp.C:125 AddTaskDiHadronPIDpp.C:126 AddTaskDiHadronPIDpp.C:127 AddTaskDiHadronPIDpp.C:128 AddTaskDiHadronPIDpp.C:129 AddTaskDiHadronPIDpp.C:130 AddTaskDiHadronPIDpp.C:131 AddTaskDiHadronPIDpp.C:132 AddTaskDiHadronPIDpp.C:133 AddTaskDiHadronPIDpp.C:134 AddTaskDiHadronPIDpp.C:135 AddTaskDiHadronPIDpp.C:136 AddTaskDiHadronPIDpp.C:137 AddTaskDiHadronPIDpp.C:138 AddTaskDiHadronPIDpp.C:139