2 AliAnaGamma* ConfigGammaAnalysis()
5 // Configuration goes here
7 printf("ConfigGammaAnalysis() \n");
9 //----------------------------------------------------------
10 //-----------------------------------------------------------
11 // Define reader , uncomment 1 of the 2 options
12 //-----------------------------------------------------------
13 //----------------------------------------------------------
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);
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
46 //----------------------------------------------------------
47 //----------------------------------------------------
48 //Define analysis algorithms
49 //----------------------------------------------------
50 //----------------------------------------------------------
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
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);
79 //============================
80 //Second, select the correlation algoritm
81 //==============================
82 //Uncomment 1 of the 4 options
85 //AliAnaGammaParton *gc = new AliAnaGammaParton();
86 //No associated setters and getters for the moment.
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
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
102 // AliAnaGammaJetFinder *gc = new AliAnaGammaJetFinder();
103 //It does nothing for the moment
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
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