]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/ConfigAnalysisPhoton.C
Cleaning up files, added documentation. Added ntuple for v0s.
[u/mrichter/AliRoot.git] / PWG4 / macros / ConfigAnalysisPhoton.C
CommitLineData
3e0577a2 1/* $Id: $ */
2/* $Log$ */
3
4//------------------------------------
5// Configuration macro example:
6//
7// Do photon identification analysis with ESDs
8// Gamma in PHOS. For EMCAL clusters change
9// PHOS by EMCAL where necessary
10//
11// Author : Gustavo Conesa Balbastre (INFN-LNF)
12//------------------------------------
13
14AliAnaPartCorrMaker* ConfigAnalysis()
15{
16 //
17 // Configuration goes here
18 //
19 printf("======================== \n");
20 printf("ConfigAnalysis() \n");
21 printf("======================== \n");
22
23
24 //Detector Fidutial Cuts
25 AliFidutialCut * fidCut = new AliFidutialCut();
26 fidCut->DoCTSFidutialCut(kFALSE) ;
27 fidCut->DoEMCALFidutialCut(kFALSE) ;
28 fidCut->DoPHOSFidutialCut(kFALSE) ;
29
30 //fidCut->SetSimpleCTSFidutialCut(0.9,0.,360.);
31 //fidCut->SetSimpleEMCALFidutialCut(0.7,80.,190.);
32 //fidCut->SetSimplePHOSFidutialCut(0.13,220.,320.);
33
34 fidCut->Print("");
35
36 //-----------------------------------------------------------
37 // Reader
38 //-----------------------------------------------------------
39 AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();
40 reader->SetDebug(-1);
41
42 //Switch on or off the detectors information that you want
43 reader->SwitchOffEMCAL();
44 reader->SwitchOffCTS();
45 reader->SwitchOnPHOS();
46
47 //Min particle pT
48 //reader->SetEMCALPtMin(0.5);
49 reader->SetPHOSPtMin(0.5);
50 //reader->SetCTSPtMin(0.2);
51
52 reader->SetFidutialCut(fidCut);
53 reader->Print("");
54
55
56 //---------------------------------------------------------------------
57 // Analysis algorithm
58 //---------------------------------------------------------------------
59
60 //Detector Fidutial Cuts for analysis part
61 AliFidutialCut * fidCut2 = new AliFidutialCut();
62 fidCut2->DoCTSFidutialCut(kFALSE) ;
63 fidCut2->DoEMCALFidutialCut(kFALSE) ;
64 fidCut2->DoPHOSFidutialCut(kFALSE) ;
65
66 //fidCut2->SetSimpleCTSFidutialCut(0.9,0.,360.);
67 //fidCut2->SetSimpleEMCALFidutialCut(0.7,80.,190.);
68 //fidCut2->SetSimplePHOSFidutialCut(0.13,220.,320.);
69
70 fidCut2->Print("");
71
72 AliCaloPID * pid = new AliCaloPID();
73 // use selection with simple weights
74 pid->SetPHOSPhotonWeight(0.7); pid->SetPHOSPi0Weight(0.7);
75 // use more complicated selection, particle weight depending on cluster energy
76// pid->UsePHOSPIDWeightFormula(kTRUE);
77// 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))");
78// 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))");
79// pid->SetPHOSPhotonWeightFormula(photonF);
80// pid->SetPHOSPi0WeightFormula(pi0F);
81
82 pid->SetDispersionCut(1.5);
83 pid->SetTOFCut(5.e-9);
84 pid->SetDebug(-1);
85 pid->Print("");
86
87 AliAnaPhoton *ana = new AliAnaPhoton();
88 ana->SetDebug(-1);
89 ana->SetMinPt(5.);
90 ana->SetMinDistanceToBadChannel(2, 4, 5);
91 ana->SetCaloPID(pid);
92 ana->SetFidutialCut(fidCut2);
93 ana->SetCalorimeter("PHOS");
94 ana->SwitchOnDataMC() ;//Access MC stack and fill more histograms
95 ana->SwitchOffCaloPID();
96 ana->SwitchOffCaloPIDRecalculation(); //recommended for EMCAL
97 ana->SwitchOffFidutialCut();
98 ana->SetOutputAODName("Photons");
99 ana->SetOutputAODClassName("AliAODPWG4Particle");
100 //Set Histrograms bins and ranges
101// ana->SetHistoPtRangeAndNBins(0, 50, 100) ;
102// ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
103// ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
104 ana->Print("");
105
106 //---------------------------------------------------------------------
107 // Set analysis algorithm and reader
108 //---------------------------------------------------------------------
109 maker = new AliAnaPartCorrMaker();
110 maker->SetReader(reader);//pointer to reader
111 maker->AddAnalysis(ana,0);
112 maker->SetAnaDebug(-1) ;
113 maker->SwitchOnHistogramsMaker() ;
114 maker->SwitchOnAODsMaker() ;
115
116 maker->Print("");
117 //
118 printf("======================== \n");
119 printf("END ConfigAnalysis() \n");
120 printf("======================== \n");
121 return maker ;
122}