]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/AddTaskHFEFlowTPCTOFEPSP.C
c889bc47c0c081765797d9b9cd7030085de49aaf
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / AddTaskHFEFlowTPCTOFEPSP.C
1 AliAnalysisTask *AddTaskHFEFlowTPCTOFEPSP(UInt_t trigger=131073,Int_t aodfilter=16,Bool_t scalarProduct=kFALSE,Bool_t cutPileup=kFALSE,Int_t tpcCls=110, Double_t tpcClsr=60, Int_t tpcClspid=80, Int_t itsCls=4, Int_t pixellayer=2, Double_t dcaxy=100,Double_t dcaz=200, Double_t tofsig=30., Double_t tpceff=50., Int_t vzero=1, Int_t debuglevel=2, Double_t etarange=80, Bool_t withetacorrection=kFALSE, Bool_t withmultcorrection=kFALSE, Double_t ITSclustersback=0, Double_t minTPCback=-2.0, Double_t maxTPCback=5.0){
2
3   //
4   // Define TPC cut for 2011 data
5   //
6   Double_t tpcdedx[8] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; //0-5,5-10,10-20,20-30,30-40,40-50,50-60,60-100
7   // -0.2 0-5%
8   // -0.15 5-10%
9   // -0.1 10-20%
10   // -0.0 20-30%, sigma=1.17
11   // 0.156 30-40%, sigma=1.2
12   // 0.19 40-50%, sigma=1.2
13   // 0.2 50-60%
14   // 0.2 60-80% list_t65536f16TPC110r60p80s11km0ITS4C36Pi2DCAr100z200TOF30TPCe50V1D0er8i0t-20t50
15   tpcdedx[0]=-0.2;
16   tpcdedx[1]=-0.15;
17   tpcdedx[2]=-0.1;
18   tpcdedx[3]=0.0;
19   tpcdedx[4]=0.156;
20   tpcdedx[5]=0.19;
21   tpcdedx[6]=0.2;
22   tpcdedx[7]=0.2;
23   if(TMath::Abs(tpceff-55)<0.01) {
24     tpcdedx[0]=-0.365;
25     tpcdedx[1]=-0.314;
26     tpcdedx[2]=-0.267;
27     tpcdedx[3]=-0.165;
28     tpcdedx[4]=-0.022;
29     tpcdedx[5]= 0.01;
30     tpcdedx[6]= 0.018;
31     tpcdedx[7]= 0.018;
32   }
33   if(TMath::Abs(tpceff-45)<0.01) {
34     tpcdedx[0]=-0.062;
35     tpcdedx[1]=-0.015;
36     tpcdedx[2]=0.035;
37     tpcdedx[3]=0.131;
38     tpcdedx[4]=0.278;
39     tpcdedx[5]=0.32;
40     tpcdedx[6]=0.32;
41     tpcdedx[7]=0.32;
42   }
43   if(TMath::Abs(tpceff-60)<0.01) {
44     tpcdedx[0]=-0.518;
45     tpcdedx[1]=-0.47;
46     tpcdedx[2]=-0.42;
47     tpcdedx[3]=-0.315;
48     tpcdedx[4]=-0.178;
49     tpcdedx[5]=-0.145;
50     tpcdedx[6]=-0.135;
51     tpcdedx[7]=-0.135;
52   }
53   if(TMath::Abs(tpceff-40)<0.01) {
54     tpcdedx[0]=0.09;
55     tpcdedx[1]=0.14;
56     tpcdedx[2]=0.188;
57     tpcdedx[3]=0.28;
58     tpcdedx[4]=0.43;
59     tpcdedx[5]=0.462;
60     tpcdedx[6]=0.473;
61     tpcdedx[7]=0.473;
62   }
63
64   // Name
65   TString appendixx(TString::Format("t%df%ds%dp%dTPC%dr%dp%dITS%dPi%dDCAr%dz%dTOF%dTPCe%dV%dD%der%dbin%di%dt%dt%d",(Int_t)trigger,aodfilter,(Int_t)scalarProduct,(Int_t)cutPileup,tpcCls,(Int_t)tpcClsr,tpcClspid,itsCls,(Int_t) pixellayer,(Int_t) dcaxy,(Int_t)dcaz,(Int_t) tofsig,(Int_t)tpceff,vzero,debuglevel,(Int_t)(etarange*0.1),(Int_t)withetacorrection,(Int_t)withmultcorrection,(Int_t)ITSclustersback,(Int_t)(minTPCback*10.0),(Int_t)(maxTPCback*10.0)));
66   //TString appendixx("tpctofv2");
67   
68
69   //set config file name
70   TString configFile("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFE_FLOW_TOFTPC.C");
71   //TString configFile("/hera/alice/bailhach/AliRootInstallations/30_09_2013/AliRoot/PWGHF/hfe/macros/configs/PbPb/ConfigHFE_FLOW_TOFTPC.C");
72   TString checkconfig="ConfigHFE_FLOW_TOFTPC";
73   if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
74     gROOT->LoadMacro(configFile.Data());
75   
76   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
77   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
78   AliAnalysisTaskFlowTPCTOFEPSP *task = ConfigHFE_FLOW_TOFTPC(kFALSE,appendixx,trigger,aodfilter,scalarProduct,cutPileup,tpcCls, tpcClsr, tpcClspid, itsCls, pixellayer, dcaxy, dcaz,tofsig,&tpcdedx[0],vzero,debuglevel,etarange,withetacorrection,withmultcorrection,ITSclustersback,minTPCback,maxTPCback);  
79   
80   task->SetNbBinsCentralityQCumulant(4);
81   //task->SetBinCentralityLess(0,0.0);
82   task->SetBinCentralityLess(0,0.0);
83   task->SetBinCentralityLess(1,10.0);
84   task->SetBinCentralityLess(2,20.0);
85   task->SetBinCentralityLess(3,40.0);
86   task->SetBinCentralityLess(4,50.0);
87   //task->SetBinCentralityLess(5,60.0);
88   //task->SetBinCentralityLess(7,80.0);
89
90   if(debuglevel==3) {
91     
92     //***************************************//
93     //    test   Configure NPE plugin        //
94     //***************************************//
95     
96     AliHFENonPhotonicElectron *backe = new AliHFENonPhotonicElectron(Form("HFEBackGroundSubtractionPID2%s",appendixx.Data()),"Background subtraction");  //appendix
97     //Setting the Cuts for the Associated electron-pool
98     AliHFEcuts *hfeBackgroundCuts = new AliHFEcuts(Form("HFEBackSub%s",appendixx.Data()),"Background sub Cuts");
99     //hfeBackgroundCuts->SetEtaRange(assETA);
100     hfeBackgroundCuts->SetEtaRange(-0.8,0.8);
101     hfeBackgroundCuts->SetPtRange(0.1,1e10);
102     hfeBackgroundCuts->SetMaxChi2perClusterTPC(4);
103     hfeBackgroundCuts->SetMinNClustersITS(ITSclustersback);
104     hfeBackgroundCuts->SetMinNClustersTPC(100);
105     hfeBackgroundCuts->SetMinNClustersTPCPID(80);
106     hfeBackgroundCuts->SetMaxImpactParam(1.,2.);
107     hfeBackgroundCuts->SetAODFilterBit(4);
108     //hfeBackgroundCuts->SetQAOn();                             // QA break
109     
110     AliHFEpid *pidbackground = backe->GetPIDBackground();
111     pidbackground->AddDetector("TPC", 0);
112     pidbackground->ConfigureTPCasymmetric(0.0,9999.,minTPCback,maxTPCback);
113     backe->GetPIDBackgroundQAManager()->SetHighResolutionHistos();
114     backe->SetHFEBackgroundCuts(hfeBackgroundCuts);
115     
116     // Selection of associated tracks for the pool
117     backe->SelectCategory1Tracks(kTRUE);
118     /*
119       if(useCat2Tracks){
120       backe->SelectCategory2Tracks(kTRUE);
121       backe-> SetITSMeanShift(-0.5);
122       }
123     */
124     
125     // apply opening angle cut to reduce file size
126     backe->SetMaxInvMass(0.3);
127     
128     task->SetHFEBackgroundSubtraction(backe);
129     //AliLog::SetClassDebugLevel("AliAnalysisTaskHFEFlowTPCTOFEPSP",3);
130     /////////////////////////////////////////////
131     /////////////////////////////////////////////
132     
133   } 
134
135   task->SetHFEVZEROEventPlane(0x0);
136   //AliLog::SetClassDebugLevel("AliAnalysisTaskHFEFlow",3);
137
138   mgr->AddTask(task);
139
140   TString containerName = mgr->GetCommonFileName();
141   containerName += ":";
142   containerName += appendixx.Data();
143
144   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
145   mgr->ConnectOutput(task,1, mgr->CreateContainer(Form("list_%s",appendixx.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,containerName.Data()));
146   mgr->ConnectInput(task,0, cinput );    
147
148   return NULL;
149
150   
151 }