end-of-line normalization
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / configs / PbPb / ConfigHFEElecHadronCorrelPbPb.C
CommitLineData
7fac8669 1AliAnalysisTaskElecHadronCorrel* ConfigHFEElecHadronCorrelPbPb(Bool_t useMC,
2 Bool_t EventTrigSelMB=kTRUE,
3 Bool_t TrigSelCen = kTRUE,
4 Double_t CentMin = 0,
5 Double_t CentMax = 7,
6 Double_t TPCNsigMinE = -2,
7 Double_t TPCNsigMaxE = 2,
8 Double_t TPCNsigMinH = -10,
9 Double_t TPCNsigMaxH = -3.5,
10 Double_t SSM02Min = 0.03,
11 Double_t SSM02Max = 0.5,
12 Double_t SSM20Min = 0.03,
13 Double_t SSM20Max = 0.3,
14 Double_t Disp = 1,
15 Double_t EovPMin = 0.8,
16 Double_t EovPMax = 1.2,
17 Double_t InvM = 0.1,
18 const char* CentralityMet = "VOM",
19 Int_t TPCNClsEle = 100,
20 Int_t TPCNClsHad = 80,
21 Bool_t AssoEleITSref=kTRUE,
22 Int_t AssoElecTPCNCls=80,
23 TString ContNameExt = "Central",
24 TString TaskName="hfeCorrl"){
25
26//
27 // HFE standard task configuration
28 //
29
30 Bool_t kAnalyseTaggedTracks = kTRUE;
31
32 AliHFEcuts *hfecuts = new AliHFEcuts("hfeCutsEMCAL","HFE Standard Cuts");
33// hfecuts->CreateStandardCuts();
34 hfecuts->SetMinNClustersTPC(TPCNClsEle);
35 hfecuts->SetMinNClustersITS(3);
36 hfecuts->SetMinNTrackletsTRD(0);
37 hfecuts->SetMinRatioTPCclusters(0.6);
38 // hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
39 hfecuts->SetRequireITSPixel();
40 hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
41 hfecuts->SetMaxChi2perClusterITS(-1);
42 hfecuts->SetMaxChi2perClusterTPC(3.5);
43 hfecuts->SetCheckITSLayerStatus(kFALSE); // shud be put back
44// hfecuts->UnsetVertexRequirement();
45 hfecuts->SetVertexRange(10.);
46 hfecuts->SetRequireSigmaToVertex();
47 //hfecuts->SetSigmaToVertex(10);
48 hfecuts->SetTOFPIDStep(kFALSE);
49// hfecuts->SetQAOn();
50 hfecuts->SetPtRange(0, 30);
51
52 TString taskName = TaskName;
53
54 AliAnalysisTaskElecHadronCorrel *task = new AliAnalysisTaskElecHadronCorrel(taskName);
55 printf("task ------------------------ %p\n ", task);
56 task->SetHFECuts(hfecuts);
57// task->SetRemovePileUp(kTRUE);
58// task->SetInvariantMassCut(0.1);
59
60 task->SetEventTriggerSelectionMB(EventTrigSelMB);
61 task->SetTriggerSelection(TrigSelCen);
62 task->SetCentralityParameters(CentMin, CentMax, CentralityMet);
63 task->SetInvariantMassCut(InvM);
64 task->SetAssoElecTPCNCls(AssoElecTPCNCls);
65 task->SetTPCnsigmaCutsElecSelection(TPCNsigMinE,TPCNsigMaxE);
66 task->SetTPCnsigmaCutsHadSelection(TPCNsigMinH,TPCNsigMaxH);
67 task->SetShowerShapeCutsM02(SSM02Min,SSM02Max);
68 task->SetShowerShapeCutsM20(SSM20Min,SSM20Max);
69 task->SetShowerShapeCutsDisp(0,Disp);
70 task->SetEovPCuts(EovPMin,EovPMax);
71 task->SetRejectKinkMother(kTRUE);
72 task->SetTPCNClsHad(TPCNClsHad);
73 task->SetAssoElecITSrefit(AssoEleITSref);
74
75 // Define PID
76 AliHFEpid *pid = task->GetPID();
77 if(useMC) pid->SetHasMCData(kTRUE);
78 pid->AddDetector("TPC", 0);
79 pid->AddDetector("EMCAL", 1);
80 /*
81 // change E/p cuts
82 AliHFEpidEMCAL *emcpid = pid->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid);
83 emcpid->SetEoPMax(1.2);
84 emcpid->SetEoPMim(0.8);
85
86 Double_t params[4];
87 char *cutmodel;
88 if(useMC){
89 // Monte-Carlo needs modelling of the falling mean with momentum at low momentum
90 // for high momentum it is consistent with a flat -0.94
91 cutmodel = "[0]*TMath::Exp([1]*x) + [2] + [3]*x";
92 Double_t paramsMC[4] = {0.7174, -1.588, -0.9395, 0.0246};
93 for(int ipar = 0; ipar < 4; ipar++) params[ipar] = paramsMC[ipar];
94 } else {
95 // Data is consistent with a flat 0.12
96 cutmodel = "pol0";
97 //params[0] = -0.0015;
98 //params[0] = -3.0;
99 params[0] = -1.0; //sigma min
100 }
101// pid->ConfigureTPCdefaultCut(cutmodel, params,3.0);
102 pid->ConfigureTPCasymmetric(0,30,-1,3.0);
103*/
104 printf("*************************************\n");
105 printf("Configuring standard Task:\n");
106// task->PrintStatus();
107 pid->PrintStatus();
108 printf("*************************************\n");
109 return task;
110}