]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/ConfigAnalysisESDExample.C
Add the efficiency estimation to common FF task.
[u/mrichter/AliRoot.git] / PWG4 / macros / ConfigAnalysisESDExample.C
CommitLineData
d92b41ad 1/* $Id: $ */
2/* $Log$ */
3
4//------------------------------------
5// Configuration macro example:
6//
3e0577a2 7// Do example analysis with MC
d92b41ad 8//
9// Author : Gustavo Conesa Balbastre (INFN-LNF)
10//------------------------------------
11
c90ac396 12AliAnaPartCorrMaker* ConfigAnalysis()
d92b41ad 13{
14 //
15 // Configuration goes here
16 //
17 printf("======================== \n");
18 printf("ConfigAnalysis() \n");
19 printf("======================== \n");
20
21
ff45398a 22 //Detector Fiducial Cuts
23 AliFiducialCut * fidCut = new AliFiducialCut();
24 fidCut->DoCTSFiducialCut(kFALSE) ;
25 fidCut->DoEMCALFiducialCut(kTRUE) ;
26 fidCut->DoPHOSFiducialCut(kTRUE) ;
d92b41ad 27
ff45398a 28 //fidCut->SetSimpleCTSFiducialCut(0.9,0.,360.);
29 fidCut->SetSimpleEMCALFiducialCut(0.7,80.,190.);
30 fidCut->SetSimplePHOSFiducialCut(0.12,220.,320.);
3e0577a2 31
ff45398a 32 // //Fiducial cut EMCAL, 5 regions
d92b41ad 33 // Float_t etamax[]={0.67,0.51,0.16,-0.21,-0.61};
34 // TArrayF etamaxarr(5,etamax);
35 // fidCut->AddEMCALFidCutMaxEtaArray(etamaxarr);
36 // Float_t etamin[]={0.61,0.21,-0.16,-0.51,-0.67};
37 // TArrayF etaminarr(5,etamin);
38 // fidCut->AddEMCALFidCutMinEtaArray(etaminarr);
39 // Float_t phimax[]={99.*TMath::DegToRad(), 119.*TMath::DegToRad(), 139.*TMath::DegToRad(),
40 // 159.*TMath::DegToRad(), 179.*TMath::DegToRad(), 189.*TMath::DegToRad()};
41 // TArrayF phimaxarr(6,phimax);
42 // fidCut->AddEMCALFidCutMaxPhiArray(phimaxarr);
43 // Float_t phimin[]={81.*TMath::DegToRad(), 101.*TMath::DegToRad(), 121.*TMath::DegToRad(),
44 // 141.*TMath::DegToRad(), 161.*TMath::DegToRad(), 181.*TMath::DegToRad()};
45 // TArrayF phiminarr(6,phimin);
46 // fidCut->AddEMCALFidCutMinPhiArray(phiminarr);
47
d92b41ad 48 fidCut->Print("");
49
50 //-----------------------------------------------------------
51 // Reader
52 //-----------------------------------------------------------
3e0577a2 53 AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();
d92b41ad 54 reader->SetDebug(-1);
55
3e0577a2 56 //Switch on or off the detectors information that you want
57 reader->SwitchOffEMCAL();
58 reader->SwitchOffCTS();
d92b41ad 59 reader->SwitchOnPHOS();
3e0577a2 60 reader->SwitchOffEMCALCells();
d92b41ad 61 reader->SwitchOnPHOSCells();
d92b41ad 62
63 //Min particle pT
3e0577a2 64 reader->SetEMCALPtMin(0.);
65 reader->SetPHOSPtMin(0.);
66 reader->SetCTSPtMin(.2);
1caab52d 67
68 //Remove the temporal AODs we create.
08a064bc 69 reader->SwitchOnCleanStdAOD();
1caab52d 70
ff45398a 71 reader->SetFiducialCut(fidCut);
1caab52d 72
73// //We want tracks fitted in the detectors:
74// ULong_t status=AliAODTrack::kTPCrefit;
75// status|=AliAODTrack::kITSrefit; //(default settings)
76
77// We want tracks whose PID bit is set:
78// ULong_t status =AliAODTrack::kITSpid;
79// status|=AliAODTrack::kTPCpid;
80
81// reader->SetTrackStatus(status);
82
83
d92b41ad 84 reader->Print("");
85
d92b41ad 86 //---------------------------------------------------------------------
87 // Analysis algorithm
88 //---------------------------------------------------------------------
89
ff45398a 90 //Detector Fiducial Cuts for analysis part
91 AliFiducialCut * fidCut2 = new AliFiducialCut();
92 fidCut2->DoCTSFiducialCut(kFALSE) ;
93 fidCut2->DoEMCALFiducialCut(kTRUE) ;
94 fidCut2->DoPHOSFiducialCut(kTRUE) ;
d92b41ad 95
ff45398a 96 //fidCut2->SetSimpleCTSFiducialCut(0.9,0.,360.);
97 fidCut2->SetSimpleEMCALFiducialCut(0.5,100.,150.);
98 fidCut2->SetSimplePHOSFiducialCut(0.1,240.,280.);
d92b41ad 99
100 AliCaloPID * pid = new AliCaloPID();
101 // use selection with simple weights
102 pid->SetPHOSPhotonWeight(0.7); pid->SetPHOSPi0Weight(0.7);
103 pid->SetEMCALPhotonWeight(0.7); pid->SetEMCALPi0Weight(0.7);
3e0577a2 104 // use more complicated selection, particle weight depending on cluster energy
105// pid->UsePHOSPIDWeightFormula(kTRUE);
106// TFormula * photonF = new TFormula("photonWeight","0.98*(x<40)+ 0.68*(x>=100)+(x>=40 && x<100)*(0.98+x*(6e-3)-x*x*(2e-04)+x*x*x*(1.1e-06))");
107// TFormula * pi0F = new TFormula("pi0Weight","0.98*(x<65)+ 0.915*(x>=100)+(x>=65 && x-x*(1.95e-3)-x*x*(4.31e-05)+x*x*x*(3.61e-07))");
108// pid->SetPHOSPhotonWeightFormula(photonF);
109// pid->SetPHOSPi0WeightFormula(pi0F);
110
111
d92b41ad 112 AliAnaExample *ana = new AliAnaExample();
113 ana->SetDebug(-1);
d92b41ad 114 ana->SetCaloPID(pid);
ff45398a 115 ana->SetFiducialCut(fidCut2);
3e0577a2 116 ana->SetDetector("PHOS");
117 //ana->SwitchOnDataMC();
118 ana->SetMinPt(0.);
119 ana->SetOutputAODName("Example");
120 ana->SetOutputAODClassName("AliAODPWG4Particle"); //Or AliAODPWG4ParticleCorrelation
121 //Set Histrograms bins and ranges
122// ana->SetHistoPtRangeAndNBins(0, 50, 100) ;
123// ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
124// ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
d92b41ad 125
3e0577a2 126//AliAnaExample *ana2 = new AliAnaExample();
d92b41ad 127
128 //---------------------------------------------------------------------
129 // Set analysis algorithm and reader
130 //---------------------------------------------------------------------
c90ac396 131 maker = new AliAnaPartCorrMaker();
d92b41ad 132 maker->SetReader(reader);//pointer to reader
133 maker->AddAnalysis(ana,0);
134 //maker->AddAnalysis(ana2,1);
3e0577a2 135 maker->SetAnaDebug(-1) ;
d92b41ad 136 maker->SwitchOnHistogramsMaker() ;
137 //maker->SwitchOffHistogramsMaker() ;
3e0577a2 138 maker->SwitchOnAODsMaker() ;
139 //maker->SwitchOffAODsMaker() ;
d92b41ad 140
141 maker->Print("");
142 //
143 printf("======================== \n");
144 printf("END ConfigAnalysis() \n");
145 printf("======================== \n");
146 return maker ;
147}