]>
Commit | Line | Data |
---|---|---|
7d2d1773 | 1 | //Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili |
2 | //University of Tennessee at Knoxville | |
3 | // | |
4 | // This class is designed for the analysis of the hadronic component of | |
5 | // transverse energy. It is used by AliAnalysisTaskHadEt. | |
6 | // This gets information about the hadronic component of the transverse energy | |
7 | // from tracks reconstructed in an event | |
8 | // it has daughters, AliAnalysisEtCommonMonteCarlo and | |
9 | // AliAnalysisEtCommonReconstructed which loop over either Monte Carlo data or | |
10 | // real data to get Et | |
11 | ||
12 | #include "AliAnalysisEtCommon.h" | |
13 | #include "TMath.h" | |
14 | #include "TList.h" | |
15 | #include "TH1F.h" | |
16 | #include "TH2F.h" | |
964c8159 | 17 | #include "TF1.h" |
7d2d1773 | 18 | #include <iostream> |
19 | #include "AliAnalysisEtCuts.h" | |
20 | #include "AliMCEvent.h" | |
21 | #include "AliVEvent.h" | |
22 | #include "AliStack.h" | |
23 | #include "AliESDtrackCuts.h" | |
24 | #include "TDatabasePDG.h" | |
25 | #include "TParticle.h" | |
26 | #include "Rtypes.h" | |
27 | #include "AliPDG.h" | |
28 | ||
29 | using namespace std; | |
30 | ||
31 | ClassImp(AliAnalysisEtCommon); | |
32 | //These are from the PDG database but by making them static the code is a bit more efficient and has no problems running with the plugin | |
33 | //Cuts are defined in $ROOTSYS/etc/pdg_table.txt | |
34 | ||
35 | Float_t AliAnalysisEtCommon::fgPionMass = 0.13957; | |
36 | Float_t AliAnalysisEtCommon::fgKaonMass = 0.493677; | |
37 | Float_t AliAnalysisEtCommon::fgProtonMass = 0.938272; | |
38 | Float_t AliAnalysisEtCommon::fgElectronMass = 0.000510999; | |
39 | Int_t AliAnalysisEtCommon::fgPiPlusCode = 211; | |
40 | Int_t AliAnalysisEtCommon::fgPiMinusCode = -211; | |
41 | Int_t AliAnalysisEtCommon::fgKPlusCode = 321; | |
42 | Int_t AliAnalysisEtCommon::fgKMinusCode = -321; | |
43 | Int_t AliAnalysisEtCommon::fgProtonCode = 2212; | |
44 | Int_t AliAnalysisEtCommon::fgAntiProtonCode = -2212; | |
45 | Int_t AliAnalysisEtCommon::fgLambdaCode = 3122; | |
46 | Int_t AliAnalysisEtCommon::fgAntiLambdaCode = -3122; | |
b2c10007 | 47 | Int_t AliAnalysisEtCommon::fgK0Code = 311; |
7d2d1773 | 48 | Int_t AliAnalysisEtCommon::fgK0SCode = 310; |
49 | Int_t AliAnalysisEtCommon::fgOmegaCode = 3334; | |
50 | Int_t AliAnalysisEtCommon::fgAntiOmegaCode = -3334; | |
51 | Int_t AliAnalysisEtCommon::fgXi0Code = 3322; | |
52 | Int_t AliAnalysisEtCommon::fgAntiXi0Code = -3322; | |
53 | Int_t AliAnalysisEtCommon::fgXiCode = 3312; | |
54 | Int_t AliAnalysisEtCommon::fgAntiXiCode = -3312; | |
55 | Int_t AliAnalysisEtCommon::fgSigmaCode = 3112; | |
56 | Int_t AliAnalysisEtCommon::fgAntiSigmaCode = -3112; | |
57 | Int_t AliAnalysisEtCommon::fgK0LCode = 130; | |
58 | Int_t AliAnalysisEtCommon::fgNeutronCode = 2112; | |
59 | Int_t AliAnalysisEtCommon::fgAntiNeutronCode = -2112; | |
60 | Int_t AliAnalysisEtCommon::fgEPlusCode = -11; | |
61 | Int_t AliAnalysisEtCommon::fgEMinusCode = 11; | |
62 | Int_t AliAnalysisEtCommon::fgMuPlusCode = -13; | |
63 | Int_t AliAnalysisEtCommon::fgMuMinusCode = 13; | |
64 | Int_t AliAnalysisEtCommon::fgGammaCode = 22; | |
65 | Int_t AliAnalysisEtCommon::fgPi0Code = 111; | |
66 | Int_t AliAnalysisEtCommon::fgEtaCode = 221; | |
67 | Int_t AliAnalysisEtCommon::fgOmega0Code = 223; | |
68 | ||
69 | ||
70 | ||
71 | Float_t AliAnalysisEtCommon::fgPtTPCCutOff = 0.15; | |
72 | Float_t AliAnalysisEtCommon::fgPtITSCutOff = 0.10; | |
73 | ||
0f6416f3 | 74 | AliAnalysisEtCommon::AliAnalysisEtCommon() : TObject() |
75 | ,fHistogramNameSuffix("") | |
76 | ,fCuts(0) | |
77 | ,fDataSet(2010) | |
d9e04f5d | 78 | ,fV0ScaleDataSet(2010) |
0f6416f3 | 79 | ,fEsdtrackCutsITSTPC(0) |
80 | ,fEsdtrackCutsTPC(0) | |
81 | ,fEsdtrackCutsITS(0) | |
82 | ,fK0PythiaD6T(0) | |
83 | ,fLambdaPythiaD6T(0) | |
84 | ,fAntiLambdaPythiaD6T(0) | |
85 | ,fK0Data(0) | |
86 | ,fLambdaData(0) | |
87 | ,fAntiLambdaData(0) | |
88 | ,fLambdaEnhancement(0) | |
89 | ,fProtonEnhancement(0) | |
bf205f52 | 90 | ,fCentralityMethod("V0M") |
c1854447 | 91 | ,fNCentBins(21) |
b89c2382 | 92 | ,fCentBin(-1) |
7d2d1773 | 93 | {//default constructor |
94 | ||
95 | } | |
96 | ||
97 | AliAnalysisEtCommon::~AliAnalysisEtCommon() | |
98 | {//destructor | |
99 | delete fCuts; | |
100 | delete fEsdtrackCutsITSTPC; | |
101 | delete fEsdtrackCutsITS; | |
102 | delete fEsdtrackCutsTPC; | |
964c8159 | 103 | delete fK0PythiaD6T; |
104 | delete fLambdaPythiaD6T; | |
105 | delete fAntiLambdaPythiaD6T; | |
106 | delete fK0Data; | |
107 | delete fLambdaData; | |
108 | delete fAntiLambdaData; | |
f43fc416 | 109 | delete fLambdaEnhancement; |
110 | delete fProtonEnhancement; | |
7d2d1773 | 111 | } |
112 | ||
476828ae | 113 | Int_t AliAnalysisEtCommon::AnalyseEvent(AliVEvent */*event*/) |
7d2d1773 | 114 | { //this line is basically here to eliminate a compiler warning that event is not used. Making it a virtual function did not work with the plugin. |
6880ae51 | 115 | // cout << "This event has " << event->GetNumberOfTracks() << " tracks" << endl; |
7d2d1773 | 116 | ResetEventValues(); |
117 | return 0; | |
118 | } | |
119 | ||
120 | ||
121 | void AliAnalysisEtCommon::Init() | |
122 | {// clear variables, set up cuts and PDG info | |
c32af3dd | 123 | // LevyPt function described in LevyFitEvaluate below |
964c8159 | 124 | //parameter 0 = dNdy |
125 | //parameter 1 = temp | |
126 | //parameter 2 = power | |
ea331c5d | 127 | if(fK0PythiaD6T) delete fK0PythiaD6T; |
128 | if(fLambdaPythiaD6T) delete fLambdaPythiaD6T; | |
129 | if(fAntiLambdaPythiaD6T) delete fAntiLambdaPythiaD6T; | |
130 | if(fK0Data) delete fK0Data; | |
131 | if(fLambdaData) delete fLambdaData; | |
132 | if(fAntiLambdaData) delete fAntiLambdaData; | |
c32af3dd | 133 | |
134 | fK0PythiaD6T = new TF1("K0PythiaD6T", LevyPtEvaluate, 0,50,4); | |
135 | fLambdaPythiaD6T = new TF1("LambdaPythiaD6T", LevyPtEvaluate,0,50,4); | |
136 | fAntiLambdaPythiaD6T = new TF1("AntiLambdaPythiaD6T", LevyPtEvaluate,0,50,4); | |
137 | fK0Data = new TF1("K0Data", LevyPtEvaluate,0,50,4); | |
138 | fLambdaData = new TF1("LambdaData", LevyPtEvaluate,0,50,4); | |
139 | fAntiLambdaData = new TF1("AntiLambdaData", LevyPtEvaluate,0,50,4); | |
140 | ||
836ce14a | 141 | fK0PythiaD6T->FixParameter(3,0.493677); |
142 | fK0Data->FixParameter(3,0.493677); | |
143 | fLambdaPythiaD6T->FixParameter(3,1.115683); | |
144 | fAntiLambdaPythiaD6T->FixParameter(3,1.115683); | |
145 | fLambdaData->FixParameter(3,1.115683); | |
146 | fAntiLambdaData->FixParameter(3,1.115683); | |
d9e04f5d | 147 | if(fV0ScaleDataSet==2009){ |
964c8159 | 148 | //These data are from the ALICE 900 GeV p+p paper |
c8ad380c | 149 | //from email from Boris 10/31/10 |
150 | // dN/dy Tlevy n <pt> extra(%) chi2/ndf | |
151 | // K0S | |
152 |