]>
Commit | Line | Data |
---|---|---|
85358761 | 1 | AliAnalysisTaskHFEQA* ConfigHFEQA(Bool_t useMC, Bool_t isAOD, Int_t icollisionsystem = 2, Int_t icent = 2,Bool_t tpconlydo = kTRUE,Bool_t trdonlydo = kTRUE,Bool_t toftpcdo = kTRUE,Bool_t tpctrddo = kTRUE,Bool_t tpcemcaldo = kTRUE){ |
d1418f51 | 2 | |
3 | //***************************************// | |
4 | // Setting up the HFE cuts // | |
5 | //***************************************// | |
6 | ||
7 | AliHFEcuts *hfecuts = new AliHFEcuts("HFEcuts","HFE cuts"); | |
8 | hfecuts->CreateStandardCuts(); | |
9 | hfecuts->SetMinNClustersTPC(100); | |
10 | hfecuts->SetMinNClustersTPCPID(80); | |
11 | hfecuts->SetMinNClustersITS(3); | |
12 | hfecuts->SetMinRatioTPCclusters(0.6); | |
13 | hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable); | |
14 | hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny); | |
15 | hfecuts->SetCheckITSLayerStatus(kFALSE); | |
16 | hfecuts->SetEtaRange(-0.8,0.8); | |
17 | hfecuts->SetRejectKinkDaughters(); | |
18 | hfecuts->SetAcceptKinkMothers(); | |
19 | if(isAOD) hfecuts->SetAODFilterBit(4); | |
20 | ||
21 | hfecuts->SetMaxImpactParam(1.,2.); | |
22 | hfecuts->SetUseMixedVertex(kTRUE); | |
23 | hfecuts->SetVertexRange(10.); | |
24 | hfecuts->SetPtRange(0.1,100.); | |
25 | // New pPb cuts (February 2013) | |
26 | hfecuts->SetUseCorrelationVertex(); | |
27 | hfecuts->SetSPDVtxResolutionCut(); | |
28 | //hfecuts->SetpApileupCut(); | |
29 | ||
30 | //***************************************// | |
31 | // Setting up the task // | |
32 | //***************************************// | |
33 | ||
34 | AliAnalysisTaskHFEQA *task = new AliAnalysisTaskHFEQA("taskHFEQA"); | |
35 | printf("task %p\n", task); | |
d1418f51 | 36 | task->SetHFECuts(hfecuts); |
890e8a53 | 37 | |
d1418f51 | 38 | // Collision system |
39 | if (icollisionsystem == 2) task->SetPbPbAnalysis(); | |
40 | else if (icollisionsystem == 1) task->SetpPbAnalysis(); | |
41 | else if (icollisionsystem == 0) task->SetppAnalysis(); | |
42 | ||
43 | ||
44 | // Determine the centrality estimator | |
45 | task->SetCentralityEstimator("V0A"); | |
46 | if (icent == 2) task->SetCentralityEstimator("V0M"); | |
47 | else if (icent == 3) task->SetCentralityEstimator("CL1"); | |
48 | else if (icent == 4) task->SetCentralityEstimator("ZNA"); | |
49 | ||
50 | ||
51 | //***************************************// | |
52 | // Configure the PID // | |
53 | //***************************************// | |
54 | ||
85358761 | 55 | if(tpconlydo) { |
56 | task->SetDoTPConly(kTRUE); | |
57 | } | |
58 | if(trdonlydo) { | |
59 | task->SetDoTRDonly(kTRUE); | |
60 | task->GetPIDQAManagerTRDonly()->SetHighResolutionHistos(); | |
61 | } | |
62 | if(toftpcdo) { | |
63 | task->SetDoTOFTPC(kTRUE); | |
64 | task->GetPIDQAManagerTOFTPC()->SetHighResolutionHistos(); | |
65 | } | |
66 | if(tpctrddo) { | |
67 | task->SetDoTPCTRD(kTRUE); | |
68 | task->GetPIDQAManagerTPCTRD()->SetHighResolutionHistos(); | |
69 | } | |
70 | if(tpcemcaldo) { | |
71 | task->SetDoTPCEMCal(kTRUE); | |
72 | task->GetPIDQAManagerTPCEMCal()->SetHighResolutionHistos(); | |
73 | } | |
890e8a53 | 74 | |
75 | AliHFEpid *pidTPConly = task->GetPIDTPConly(); | |
76 | if(useMC) pidTPConly->SetHasMCData(kTRUE); | |
77 | pidTPConly->AddDetector("TPC", 0); | |
78 | ||
d1418f51 | 79 | AliHFEpid *pidTOFTPC = task->GetPIDTOFTPC(); |
80 | if(useMC) pidTOFTPC->SetHasMCData(kTRUE); | |
81 | pidTOFTPC->AddDetector("TOF", 0); | |
82 | pidTOFTPC->AddDetector("TPC", 1); | |
83 | pidTOFTPC->ConfigureTOF(3.); | |
84 | ||
85 | AliHFEpid *pidTPCTRD = task->GetPIDTPCTRD(); | |
86 | if(useMC) pidTPCTRD->SetHasMCData(kTRUE); | |
87 | pidTPCTRD->AddDetector("TPC", 0); | |
88 | pidTPCTRD->AddDetector("TRD", 1); | |
89 | ||
90 | AliHFEpid *pidTPCEMCal = task->GetPIDTPCEMCal(); | |
91 | if(useMC) pidTPCEMCal->SetHasMCData(kTRUE); | |
92 | pidTPCEMCal->AddDetector("EMCAL", 1); | |
93 | pidTPCEMCal->AddDetector("TPC", 0); | |
94 | ||
95 | ||
96 | // TPC PID | |
97 | Double_t paramsTPCdEdxcutlowEMCal[12] ={-3.0, -3.0, -3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0}; | |
98 | Double_t paramsTPCdEdxcutlow[12] ={0.0, 0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; | |
99 | Double_t paramsTPCdEdxcuthigh[12] ={3.0, 3.0, 3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0}; | |
100 | char *cutmodel; | |
101 | cutmodel="pol0"; | |
102 | for(Int_t a=0;a<11;a++){ | |
103 | Double_t tpcparamlowEMCal[1]={paramsTPCdEdxcutlowEMCal[a]}; | |
104 | Double_t tpcparamlow[1]={paramsTPCdEdxcutlow[a]}; | |
105 | Float_t tpcparamhigh=paramsTPCdEdxcuthigh[a]; | |
890e8a53 | 106 | pidTPConly->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh); |
d1418f51 | 107 | pidTOFTPC->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh); |
108 | pidTPCTRD->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh); | |
109 | pidTPCEMCal->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlowEMCal,tpcparamhigh); | |
110 | } | |
890e8a53 | 111 | pidTPConly->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]); |
d1418f51 | 112 | pidTOFTPC->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]); |
113 | pidTPCTRD->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]); | |
114 | pidTPCEMCal->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlowEMCal,paramsTPCdEdxcuthigh[0]); | |
115 | ||
116 | // TRD | |
117 | AliHFEpidTRD *trdpid = pidTPCTRD->GetDetPID(AliHFEpid::kTRDpid); | |
118 | trdpid->SetTRD2DPID(); | |
119 | trdpid->SetElectronEfficiency(0.80); // efficiency | |
3cd4d968 | 120 | trdpid->SetNTracklets(6); // ntracklets threshold |
121 | trdpid->SetCutNTracklets(6, kTRUE); | |
d1418f51 | 122 | |
85358761 | 123 | // TRD only |
124 | AliHFEpid *pidTRDonly = task->GetPIDTRDonly(); | |
125 | if(useMC) pidTRDonly->SetHasMCData(kTRUE); | |
126 | pidTRDonly->AddDetector("TRD", 0); | |
127 | ||
128 | AliHFEpidTRD *trdonlypid = pidTRDonly->GetDetPID(AliHFEpid::kTRDpid); | |
129 | trdonlypid->SetTRD2DPID(); | |
130 | trdonlypid->SetElectronEfficiency(0.80); // efficiency | |
131 | trdonlypid->SetNTracklets(6); // ntracklets threshold | |
132 | trdonlypid->SetCutNTracklets(6, kTRUE); | |
133 | ||
d1418f51 | 134 | // change E/p cuts |
135 | AliHFEpidEMCAL *emcpid = pidTPCEMCal->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid); | |
136 | emcpid->SetEoPMax(1.3); | |
137 | emcpid->SetEoPMim(0.9); | |
138 | ||
139 | return task; | |
140 | } |