]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/configs/PbPb/ConfigHFECal.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / configs / PbPb / ConfigHFECal.C
1 AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC,Bool_t MassConst,Bool_t MassWidthCut,Bool_t MassCal,Bool_t MassNonlinear,Double_t asspTCut,Double_t angleCut,Double_t MassCut, Double_t NsigCut, Int_t fqa){
2   //
3   // HFE standard task configuration
4   //
5
6   printf("Setting in this analysis\n");
7   printf("MassConst = %d/n",MassConst); 
8   printf("MassCal = %d/n", MassCal); 
9   printf("MassWidth = %d/n",MassWidthCut); 
10   printf("asspTCut = %d/n",asspTCut); 
11   printf("angleCut = %d/n",angleCut); 
12   printf("MassCut = %d/n",MassCut); 
13   printf("NsigCut = %d/n", NsigCut); 
14   printf("qa = %d/n", fqa); 
15
16   Bool_t kAnalyseTaggedTracks = kTRUE;
17   
18   AliHFEcuts *hfecuts = new AliHFEcuts("hfeCutsEMCAL","HFE Standard Cuts");
19   hfecuts->CreateStandardCuts();
20   hfecuts->SetMinNClustersTPC(100);
21   hfecuts->SetMinRatioTPCclusters(0.6);
22   hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
23   hfecuts->SetMinNClustersITS(3);
24   hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
25   hfecuts->SetCheckITSLayerStatus(kFALSE);
26   hfecuts->SetVertexRange(10.);
27   hfecuts->SetTOFPIDStep(kFALSE);
28   hfecuts->SetPtRange(2, 50);
29   hfecuts->SetMaxImpactParam(3.,3.);
30   
31  
32   AliAnalysisTaskHFECal *task = new AliAnalysisTaskHFECal("HFEanalysisEMCal");
33   printf("task ------------------------ %p\n ", task);
34   //task->SetHFECuts(hfecuts);
35   task->SetMassConstraint(MassConst);
36   task->SetMassWidthCut(MassWidthCut);
37   task->SetMassNonlinear(MassNonlinear);
38   //Double_t masscut = 0.05;
39   //if(!MassConst)masscut = 0.1;
40   Double_t masscut = MassCut;
41   task->SetInvariantMassCut(masscut);
42   task->SetOpeningAngleCut(angleCut);
43   task->SetMimpTassCut(asspTCut);
44   task->SetMimNsigassCut(NsigCut); 
45   task->SetMassCalMethod(MassCal);
46   task->SetQAHist(fqa);
47
48   // Define PID
49   AliHFEpid *pid = task->GetPID();
50   if(useMC) pid->SetHasMCData(kTRUE);
51   pid->AddDetector("TPC", 0);
52   //pid->AddDetector("EMCAL", 1);
53
54   Double_t params[4];
55   char *cutmodel;
56   if(useMC){
57           // Monte-Carlo needs modelling of the falling mean with momentum at low momentum
58           // for high momentum it is consistent with a flat -0.94
59           //cutmodel = "[0]*TMath::Exp([1]*x) + [2] + [3]*x";
60           //Double_t paramsMC[4] = {0.7174, -1.588, -0.9395, 0.0246};
61           //for(int ipar = 0; ipar < 4; ipar++) params[ipar] = paramsMC[ipar];
62           cutmodel = "pol0";
63           params[0] = -1.0; //sigma min
64   } else {
65           // Data is consistent with a flat 0.12
66           cutmodel = "pol0";
67           //params[0] = -0.0015;
68           //params[0] = -3.0;
69           //params[0] = -0.05; //sigma min
70           params[0] = -1.0; //sigma min
71   }
72   //pid->ConfigureTPCdefaultCut(cutmodel, params,3.0); 
73   for(Int_t a=0;a<11;a++)pid->ConfigureTPCcentralityCut(a,cutmodel,params,3.0);
74   
75
76   // change E/p cuts
77   AliHFEpidEMCAL *emcpid = pid->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid);
78   emcpid->SetEoPMax(1.3);
79   emcpid->SetEoPMim(0.9);
80
81   printf("*************************************\n");
82   printf("Configuring standard Task:\n");
83 //  task->PrintStatus();
84   pid->PrintStatus();
85   printf("*************************************\n"); 
86   return task;
87 }