]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/ConfigGammaAnalysis.C
New analysis classes by Gustavo Conesa
[u/mrichter/AliRoot.git] / PWG4 / ConfigGammaAnalysis.C
1
2 AliAnaGamma*  ConfigGammaAnalysis()
3 {
4     //
5     // Configuration goes here
6     // 
7     printf("ConfigGammaAnalysis() \n");
8
9     //----------------------------------------------------------
10     //-----------------------------------------------------------  
11     // Define reader , uncomment 1 of the 2 options
12     //-----------------------------------------------------------
13     //----------------------------------------------------------
14
15     // -----Option 1------ Data, ESDs
16     AliGammaDataReader *reader = new AliGammaDataReader();
17 //     //AliGammaMCDataReader *reader = new AliGammaMCDataReader(); //Copy of AliGammaDataReader for the moment
18 //     //Set detectors acceptance (in real and montecarlo data)
19 //     reader->SetCTSEtaCut(1); reader->SetEMCALEtaCut(1); reader->SetPHOSEtaCut(0.2);
20 //     reader->SetPhiEMCALCut(40*TMath::DegToRad(), 200*TMath::DegToRad());     
21 //     reader->SetPhiPHOSCut(200*TMath::DegToRad(), 350*TMath::DegToRad()); 
22 //     //Set minimum pt for particles in analysis  (in real and montecarlo data)
23 //     reader->SetNeutralPtCut(0.4); reader->SetChargedPtCut(0.4); 
24 //     //pid of measured particles
25 //     reader->SetEMCALPIDOn(kFALSE); reader->SetPHOSPIDOn(kFALSE); //No pid, accept all particles 
26 //     //if previous kTrue
27 //     reader->SetPHOSPhotonWeight(0.7);    reader->SetPHOSPi0Weight(0.7); 
28 //     reader->SetEMCALPhotonWeight(0.7);    reader->SetEMCALPi0Weight(0.7);
29    
30      // -----Option 2------ Kinematics
31     //    AliGammaMCReader *reader = new AliGammaMCReader();
32 //     //Set detectors acceptance (in real and montecarlo data)
33 //     reader->SetCTSEtaCut(1); reader->SetEMCALEtaCut(1); reader->SetPHOSEtaCut(0.2);
34 //     reader->SetPhiEMCALCut(40*TMath::DegToRad(), 200*TMath::DegToRad());     
35 //     reader->SetPhiPHOSCut(200*TMath::DegToRad(), 350*TMath::DegToRad()); 
36 //     //Set minimum pt for particles in analysis  (in real and montecarlo data)
37 //     reader->SetNeutralPtCut(0.4); reader->SetChargedPtCut(0.4); 
38 //     reader->SetDecayPi0Flag(AliGammaMCReader::kNoDecay) ; //Options
39 //     //kNoDecay :Do not decay pi0, keep them in the list as they are
40 //     //kGeantDecay: Look for gamma decayed by GEANT
41 //     //kDecay: Decay pi0 by hand (geant was not used)
42 //     //parameters to study if decay is overlapped:
43 //     reader->SetEMCALIPDistance(450.); reader->SetPHOSIPDistance(460.);
44 //     reader->SetEMCALMinDistance(3.6);    reader->SetPHOSMinDistance(11.); //Miimum overlapp distance
45  
46     //----------------------------------------------------------
47     //----------------------------------------------------
48     //Define analysis algorithms
49     //----------------------------------------------------
50     //----------------------------------------------------------
51     //3 analysis types
52     //kPrompt: Find prompt gamma for a fixed cone and pt cut value
53     //kIsolationCut: Find prompt gamma for several cones and pt cuts values
54     //kCorrelation: Do prompt gamma - something correlation. Something can be
55     //      kParton: Gamma-Parton correlation
56     //      kHadron: Gamma-Hadron correlation
57     //      kJetLeadCone: Gamma-Jet correlation : constructed in cone around leading particle
58     //      kJetFinder: Gamma-Jet correlation : Jet reconstructed with standard algorithms. --Still not implemented--
59     //One of the first 3 analysis types is selected in the end with  ana->SetAnalysisType(AliAnaGamma::kCorrelation);
60     //The 4 correlation analysis are selected when the corresponding class is initialized
61
62     //============================
63     //First initialize prompt photon algoritm
64     //==============================
65     AliAnaGammaDirect *gd = new AliAnaGammaDirect();
66     gd->SetMinGammaPt(1.);
67     //not used in option kIsolationCut
68     gd->SetConeSize(0.3); gd->SetPtThreshold(1.); gd->SetPtSumThreshold(10.);
69     gd->SetICMethod(AliAnaGammaDirect::kNoIC) ;//Options:
70           //kNoIC: Accept all photons, no isolation used
71           //kPtIC: IC with cut on pT
72           //kSumPtIC: IC with cut on pT sum in cone
73           //kSeveralIC: Not allowed in kCorrelation analysis
74 //     //for option kSeveralIC:
75 //     gd->SetNCones(3); gd->SetNPtThresholds(3);
76 //     gd->SetConeSizes(0,0.2); gd->SetConeSizes(1,0.3); gd->SetConeSizes(2,0.4); 
77 //     gd->SetPtThresholds(0,0.5); gd->SetPtThresholds(1,1.); gd->SetPtThresholds(2,2);
78  
79     //============================
80     //Second, select the correlation algoritm
81     //==============================
82     //Uncomment 1 of the 4 options
83
84     //--- Option 1 ---
85     //AliAnaGammaParton *gc = new AliAnaGammaParton();
86     //No associated setters and getters for the moment.
87
88     //--- Option 2 ---
89     //       AliAnaGammaHadron *gc = new AliAnaGammaHadron();
90 //     gc->SetDeltaPhiCutRange(1,4); //Correlation in delta phi (gamma-particle), radians
91 //     gc->SetMinPtHadron(5.);
92 //     gc->SetJetsOnlyInCTS(kFALSE); // Don't consider particles in opposite calorimeter
93     
94     //--- Option 3 ---
95     AliAnaGammaJetLeadCone *gc = new AliAnaGammaJetLeadCone();
96 //     gc->SetDeltaPhiCutRange(2.8,3.5); //Correlation with leading particle delta phi (gamma-particle), radians
97 //     gc->SetRatioCutRange(0.1,1.2);
98 //     gc->SetJetsOnlyInCTS(kFALSE); // Don't consider particles in opposite calorimeter
99 //     //and many more setters and getters
100
101     //--- Option 4 ---
102     //    AliAnaGammaJetFinder *gc = new AliAnaGammaJetFinder();
103     //It does nothing for the moment
104
105     //In case of option 1 or 2, we need to select pairs to be candidate to pi0
106     //correlated with the opposite prompt photon. Need to play with this class
107     AliNeutralMesonSelection *nms = new AliNeutralMesonSelection();
108     nms->SetInvMassCutRange(0.1,0.17);
109     nms->KeepNeutralMesonSelectionHistos(kFALSE); //keep in file several histograms or not.
110     // and other parameters
111
112     //---------------------------------------------------------------------
113     // Finally: Set  analysis algorithm and reader
114     //---------------------------------------------------------------------
115     ana = new AliAnaGamma();
116     ana->SetReader(reader);//pointer to reader
117     ana->SetAnalysisType(AliAnaGamma::kPrompt); //set kPrompt, kCorrelation
118     ana->SetGammaDirect(gd);//pointer to direct photon algorithm
119     ana->SetGammaCorrelation(gc);//pointer to correlation algorithm
120     ana->SetNeutralMesonSelection(nms); //pi0 pair selection
121     ana->SetCalorimeter("EMCAL"); //Prompt photon calorimeter
122    
123     //
124     return ana ;
125 }