]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/macros/ConfigAnalysisGammaHadronCorrelation.C
New more general analysis implemention for particle identification and correlation...
[u/mrichter/AliRoot.git] / PWG4 / macros / ConfigAnalysisGammaHadronCorrelation.C
1 /* $Id: $ */
2 /* $Log$ */
3
4 //------------------------------------
5 // Configuration macro example:
6 //
7 // Do prompt photon - hadron correlation analysis with ESDs
8 //
9 // Author : Gustavo Conesa Balbastre (INFN-LNF)
10 //------------------------------------
11
12 AliAnaMaker*  ConfigAnalysis()
13 {
14   //
15   // Configuration goes here
16   // 
17   printf("======================== \n");
18   printf("ConfigAnalysis() \n");
19   printf("======================== \n");
20   
21   
22   //Detector Fidutial Cuts
23   AliFidutialCut * fidCut = new AliFidutialCut();
24   fidCut->DoCTSFidutialCut(kTRUE) ;
25   fidCut->DoEMCALFidutialCut(kTRUE) ;
26   fidCut->DoPHOSFidutialCut(kTRUE) ;
27   
28   fidCut->SetSimpleCTSFidutialCut(0.9,0.,360.);
29   fidCut->SetSimpleEMCALFidutialCut(0.7,80.,190.);
30   fidCut->SetSimplePHOSFidutialCut(0.13,220.,320.);
31  
32   fidCut->Print("");
33   
34   //-----------------------------------------------------------  
35   // Reader
36   //-----------------------------------------------------------
37   AliCaloTrackReader *reader = new AliCaloTrackESDReader();
38   reader->SetDebug(-1);
39
40   //Switch on or off the detectors information that you want
41   reader->SwitchOnEMCAL();
42   reader->SwitchOnCTS();
43   reader->SwitchOnPHOS();
44   reader->SwitchOffEMCALCells();
45   reader->SwitchOffPHOSCells();
46  
47
48   //Min particle pT
49   reader->SetEMCALPtMin(0.5); 
50   reader->SetPHOSPtMin(0.5);
51   reader->SetCTSPtMin(0.2);
52   
53   reader->SetFidutialCut(fidCut);
54   reader->Print("");
55   
56   
57   //---------------------------------------------------------------------
58   // Analysis algorithm
59   //---------------------------------------------------------------------
60   
61   //Detector Fidutial Cuts for analysis part
62   AliFidutialCut * fidCut2 = new AliFidutialCut();
63   fidCut2->DoCTSFidutialCut(kFALSE) ;
64   fidCut2->DoEMCALFidutialCut(kTRUE) ;
65   fidCut2->DoPHOSFidutialCut(kFALSE) ;
66   
67   fidCut2->SetSimpleCTSFidutialCut(0.9,0.,360.);
68   fidCut2->SetSimpleEMCALFidutialCut(0.7,80.,190.);
69   fidCut2->SetSimplePHOSFidutialCut(0.13,220.,320.);
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   pid->SetEMCALPhotonWeight(0.7);    pid->SetEMCALPi0Weight(0.7);
76   
77   pid->Print("");
78
79   AliIsolationCut * ic = new AliIsolationCut();
80   ic->SetConeSize(0.4);
81   ic->SetPtThreshold(1.);
82   ic->SetICMethod(AliIsolationCut::kPtThresIC);
83   ic->Print("");
84
85   //Photon Analysis
86   AliAnaGammaDirect *ana = new AliAnaGammaDirect();
87   ana->SetDebug(-1);
88   ana->SetMinPt(5.);
89   ana->SetCaloPID(pid);
90   ana->SetFidutialCut(fidCut2);
91   ana->SetIsolationCut(ic) ;
92   ana->SetDetector("PHOS");
93   ana->SwitchOnIsolation();
94   ana->SwitchOnCaloPID();
95   ana->SwitchOffCaloPIDRecalculation(); //recommended for EMCAL
96   ana->SwitchOffFidutialCut();
97   ana->SwitchOffInvariantMass();
98   ana->SwitchOffDataMC() ;
99
100   ana->Print("");
101
102   //Photon- hadron correlation
103   AliAnaParticleHadronCorrelation *ana2 = new AliAnaParticleHadronCorrelation();
104   ana2->SetDebug(-1);
105   ana2->SetCaloPID(pid);
106   ana2->SwitchOnCaloPID();
107   ana2->SwitchOnCaloPIDRecalculation(); //recommended for EMCAL
108   ana2->SwitchOffFidutialCut();
109   ana2->SetPtCutRange(1,100);
110   ana2->SetDeltaPhiCutRange(1.5,4.5);
111   
112   ana2->Print("");
113   //---------------------------------------------------------------------
114   // Set  analysis algorithm and reader
115   //---------------------------------------------------------------------
116   maker = new AliAnaMaker();
117   maker->SetReader(reader);//pointer to reader
118   maker->AddAnalysis(ana,0);
119   maker->AddAnalysis(ana2,1);
120   maker->SetAODBranchName("PhotonHadronCorrelation");
121   maker->SetAnaDebug(-1)  ;
122   maker->SwitchOnHistogramsMaker()  ;
123   //maker->SwitchOffHistogramsMaker() ;  
124   maker->SwitchOnAODsMaker()  ;
125   //maker->SwitchOffAODsMaker() ; 
126   
127   maker->Print("");
128   //
129   printf("======================== \n");
130   printf("END ConfigAnalysis() \n");
131   printf("======================== \n");
132   return maker ;
133 }
134