]>
Commit | Line | Data |
---|---|---|
d1418f51 | 1 | AliAnalysisTaskHFEQA* ConfigHFEQA(Bool_t useMC, Bool_t isAOD, Int_t icollisionsystem = 2, Int_t icent = 2){ |
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); | |
36 | //task->SetpPbAnalysis(); | |
37 | //if(!isAOD) task->SetRemoveFirstEventInChunk(); | |
38 | //task->SetRemovePileUp(kFALSE); | |
39 | task->SetHFECuts(hfecuts); | |
40 | //task->GetPIDQAManager()->SetHighResolutionHistos(); | |
41 | //task->SetRejectKinkMother(kFALSE); | |
42 | ||
43 | // Collision system | |
44 | if (icollisionsystem == 2) task->SetPbPbAnalysis(); | |
45 | else if (icollisionsystem == 1) task->SetpPbAnalysis(); | |
46 | else if (icollisionsystem == 0) task->SetppAnalysis(); | |
47 | ||
48 | ||
49 | // Determine the centrality estimator | |
50 | task->SetCentralityEstimator("V0A"); | |
51 | if (icent == 2) task->SetCentralityEstimator("V0M"); | |
52 | else if (icent == 3) task->SetCentralityEstimator("CL1"); | |
53 | else if (icent == 4) task->SetCentralityEstimator("ZNA"); | |
54 | ||
55 | ||
56 | //***************************************// | |
57 | // Configure the PID // | |
58 | //***************************************// | |
59 | ||
60 | AliHFEpid *pidTOFTPC = task->GetPIDTOFTPC(); | |
61 | if(useMC) pidTOFTPC->SetHasMCData(kTRUE); | |
62 | pidTOFTPC->AddDetector("TOF", 0); | |
63 | pidTOFTPC->AddDetector("TPC", 1); | |
64 | pidTOFTPC->ConfigureTOF(3.); | |
65 | ||
66 | AliHFEpid *pidTPCTRD = task->GetPIDTPCTRD(); | |
67 | if(useMC) pidTPCTRD->SetHasMCData(kTRUE); | |
68 | pidTPCTRD->AddDetector("TPC", 0); | |
69 | pidTPCTRD->AddDetector("TRD", 1); | |
70 | ||
71 | AliHFEpid *pidTPCEMCal = task->GetPIDTPCEMCal(); | |
72 | if(useMC) pidTPCEMCal->SetHasMCData(kTRUE); | |
73 | pidTPCEMCal->AddDetector("EMCAL", 1); | |
74 | pidTPCEMCal->AddDetector("TPC", 0); | |
75 | ||
76 | ||
77 | // TPC PID | |
78 | 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}; | |
79 | 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}; | |
80 | 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}; | |
81 | char *cutmodel; | |
82 | cutmodel="pol0"; | |
83 | for(Int_t a=0;a<11;a++){ | |
84 | Double_t tpcparamlowEMCal[1]={paramsTPCdEdxcutlowEMCal[a]}; | |
85 | Double_t tpcparamlow[1]={paramsTPCdEdxcutlow[a]}; | |
86 | Float_t tpcparamhigh=paramsTPCdEdxcuthigh[a]; | |
87 | pidTOFTPC->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh); | |
88 | pidTPCTRD->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh); | |
89 | pidTPCEMCal->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlowEMCal,tpcparamhigh); | |
90 | } | |
91 | pidTOFTPC->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]); | |
92 | pidTPCTRD->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]); | |
93 | pidTPCEMCal->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlowEMCal,paramsTPCdEdxcuthigh[0]); | |
94 | ||
95 | // TRD | |
96 | AliHFEpidTRD *trdpid = pidTPCTRD->GetDetPID(AliHFEpid::kTRDpid); | |
97 | trdpid->SetTRD2DPID(); | |
98 | trdpid->SetElectronEfficiency(0.80); // efficiency | |
99 | trdpid->SetNTracklets(5); // ntracklets threshold | |
100 | trdpid->SetCutNTracklets(5, kTRUE); | |
101 | ||
102 | // change E/p cuts | |
103 | AliHFEpidEMCAL *emcpid = pidTPCEMCal->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid); | |
104 | emcpid->SetEoPMax(1.3); | |
105 | emcpid->SetEoPMim(0.9); | |
106 | ||
107 | return task; | |
108 | } |