4 //------------------------------------
5 // Configuration macro example:
7 // Do prompt photon analysis with ESDs, check with kinematics
9 // Author : Gustavo Conesa Balbastre (INFN-LNF)
10 //------------------------------------
12 AliAnaGamma* ConfigGammaAnalysis()
15 // Configuration goes here
17 printf("ConfigGammaAnalysis() \n");
19 //----------------------------------------------------------
20 //-----------------------------------------------------------
22 //-----------------------------------------------------------
23 //----------------------------------------------------------
25 AliGammaMCDataReader *reader = new AliGammaMCDataReader();
26 // Switch "on" or "off" detectors used in study
27 reader->SwitchOnEMCAL(kTRUE);
28 reader->SwitchOnPHOS(kFALSE) ;
29 reader->SwitchOnCTS(kTRUE) ;
30 // Set detectors acceptance (in real and montecarlo data)
31 // reader->SetCTSEtaCut(1); reader->SetEMCALEtaCut(1); reader->SetPHOSEtaCut(0.2);
32 reader->SetPhiEMCALCut(60*TMath::DegToRad(), 180*TMath::DegToRad());
33 // reader->SetPhiPHOSCut(260*TMath::DegToRad(), 320*TMath::DegToRad()); //Example, only modules in TRD/TOF holes
34 // Set minimum pt for particles in analysis (in real and montecarlo data)
35 // reader->SetNeutralPtCut(0.5); reader->SetChargedPtCut(0.2);
36 //pid of measured particles
37 reader->SetEMCALPIDOn(kFALSE); reader->SetPHOSPIDOn(kTRUE); //No pid, accept all particles
39 // use selection with simple weights
40 // reader->SetPHOSPhotonWeight(0.7); reader->SetPHOSPi0Weight(0.7);
41 // reader->SetEMCALPhotonWeight(0.7); reader->SetEMCALPi0Weight(0.7);
42 // use more complicated selectionm, particle weight depending on cluster energy
43 reader->UsePHOSPIDWeightFormula(kTRUE);
44 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))");
45 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))");
46 reader->SetPHOSPhotonWeightFormula(photonF);
47 reader->SetPHOSPi0WeightFormula(pi0F);
49 //parameters to study if decay is overlapped or there was a conversion before the calo:
50 reader->SetEMCALIPDistance(450.); reader->SetPHOSIPDistance(460.);
51 reader->SetEMCALMinAngle(2.5 * TMath::DegToRad() );
52 reader->SetPHOSMinAngle(0.45 * TMath::DegToRad() ); //Minimum overlapp distance
54 //============================
55 // Initialize prompt photon algoritm
56 //==============================
57 AliAnaGammaDirect *gd = new AliAnaGammaDirect();
58 gd->SetMinGammaPt(5.);
59 gd->SetConeSize(0.5); gd->SetPtThreshold(1.); gd->SetPtSumThreshold(1.);
60 gd->SetICMethod(AliAnaGammaDirect::kPtIC) ;//Options:
61 //kNoIC: Accept all photons, no isolation used
62 //kPtIC: IC with cut on pT
63 //kSumPtIC: IC with cut on pT sum in cone
65 //---------------------------------------------------------------------
66 // Finally: Set analysis algorithm and reader
67 //---------------------------------------------------------------------
68 ana = new AliAnaGamma();
69 ana->SetReader(reader);//pointer to reader
70 ana->SetAnalysisType(AliAnaGamma::kPrompt); //set kPrompt, kCorrelation
71 ana->SetGammaDirect(gd);//pointer to direct photon algorithm
72 ana->SetCalorimeter("EMCAL"); //Prompt photon calorimeter, PHOS or EMCAL