]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/JCORRAN/AliJHistos.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJHistos.h
1 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3
4 // Short comment describing what this class does needed!
5
6 //===========================================================
7 // AliJHistos.h
8 //
9 //   J
10 //===========================================================
11
12 #ifndef ALIJHISTOS_H
13 #define ALIJHISTOS_H
14
15 #include <iostream>
16 #include <fstream>
17 #include <stdlib.h>
18 #include <stdio.h>
19
20 #include <TH1.h>
21 #include <TH2.h>
22 #include <TProfile.h>
23 #include <TFile.h>
24 #include <TList.h>
25 #include <TLorentzVector.h>
26
27 #include "AliJConst.h"
28 #include "AliJHistManager.h"
29
30 class AliJCard;
31 class AliJBaseTrack;
32 class AliJPhoton;
33 class AliJTrack;
34
35 using namespace std;
36
37 inline ostream &operator << (ostream &out_file, const TLorentzVector &Vec)
38 {
39   out_file<<"Px="<<Vec.Px()<<" Py="<<Vec.Py()<<" Pz="<<Vec.Pz()<<" E="<<Vec.E()<<" M="<<Vec.M()<<endl;
40   out_file<<"Theta="<<Vec.Theta()<<" Phi="<<Vec.Phi()<<" p="<<Vec.Rho()<<endl;
41   return(out_file);
42 }
43
44 class AliJHistos {
45   
46 public:
47   AliJHistos(AliJCard* cardP); //constructor
48   virtual ~AliJHistos();    //destructor
49   AliJHistos(const AliJHistos& obj);
50   AliJHistos& operator=(const AliJHistos& obj);
51   
52   // create histograms
53   void CreateAzimuthCorrHistos();
54   void CreateIAAMoons();
55   void CreateXEHistos();
56   void CreateXtHistos();
57   
58   void CreateEventTrackHistos();
59   void CreateJetHistos();
60   
61   void CreatePairPtCosThetaStar();
62   void CreatePtCorrHistos();
63   void CreateRunByRunHistos(int runID, int runcounter) const;
64   
65   void ReadInclusiveHistos(const char *inclusFileName);
66   
67 public:
68   AliJCard  *fCard;       // card
69   
70   AliJHistManager * fHMG; // Histogram manager
71   AliJBin fCentBin;       // Bin of Centrality
72   AliJBin fVtxBin;        // Bin of Z-vertex Bin
73   AliJBin fPTtBin;        // Bin of pT Trigged
74   AliJBin fPTaBin;        // Bin of pT Associated
75   AliJBin fXEBin;         // Bin of XE
76   AliJBin fKLongBin;      // Bin of Klong
77   AliJBin fRGapBin;       // Bin of R-gap
78   AliJBin fEtaGapBin;     // Bin of Eta-gap
79   AliJBin fPhiGapBin;     // Bin of Phi-gap
80   AliJBin fMassBin;       // Bin of Mass
81   AliJBin fTypBin;        // Bin of type ( data, mixed ), but is being used for any 2 dimension
82   AliJBin fTypBin3;       // Bin of type3, is being used for any 3 dimension
83   AliJBin fPairPtBin;     // Bin of pT pair
84   
85   AliJTProfile fhMixStat; // comment me
86   
87   //==Pt stat. fcorrelations ===============================================
88   AliJTH1D fTestHist; // test only, remove it not needed
89   AliJTH1D fhPtNear; // comment me
90   AliJTH1D fhPtFar ; // comment me
91   
92   //assorted
93   AliJTH1D fhPhi; // comment me
94   AliJTH1D fhDphiAssoc; // comment me
95   AliJTH1D fhDphiAssocXEbin; // comment me
96                                //2D
97   AliJTH2D fhDphiAssoc2DIAA; // comment me
98   AliJTH2D fhDphiAssoc2D; // comment me
99   
100   // JV // 2D dphi deta histos to study better the background
101   AliJTH2D fhDphiDetaKlong;  // 2D histogram from deltaPhi-deltaEta plane in klong and eta gap bins
102   AliJTH2D fhDphiDetaKlongR; // 2D histogram from deltaPhi-deltaEta plane in klong and R gap bins
103   AliJTH2D fhDphiDetaXe;     // 2D histogram from deltaPhi-deltaEta plane in xlong and eta gap bins
104   AliJTH2D fhDphiDetaXeR;    // 2D histogram from deltaPhi-deltaEta plane in xlong and R gap bins
105   AliJTH2D fhDphiDetaPta;    // 2D histogram from deltaPhi-deltaEta plane in pta and eta gap bins
106   AliJTH2D fhDphiDetaPtaR;   // 2D histogram from deltaPhi-deltaEta plane in pta and R gap bins
107   
108   // JV // pTa distributions in background bins
109   AliJTH1D fhBgAssocKlong;   // background pta distribution in klong and eta gap bins
110   AliJTH1D fhBgAssocKlongR;  // background pta distribution in klong and R gap bins
111   AliJTH1D fhBgAssocXe;      // background pta distribution in xlong and eta gap bins
112   AliJTH1D fhBgAssocXeR;     // background pta distribution in xlong and R gap bins
113   AliJTH1D fhBgAssocPta;     // background pta distribution in pta and eta gap bins
114   AliJTH1D fhBgAssocPtaR;    // background pta distribution in pta and R gap bins
115   
116   // JV // Invariant mass histograms
117   AliJTH1D fhInvariantMassXe;    // Invariant mass histogram in xlong bins
118   AliJTH1D fhInvariantMassKlong; // Invariant mass histogram in klong bins
119   AliJTH1D fhInvariantMassPta;   // Invariant mass histogram in pta bins
120
121   // Like sign bins for invariant mass
122   AliJTH1D fhInvariantMassXeLikeSign;    // Invariant mass histogram in xlong bins for like sign pairs
123   AliJTH1D fhInvariantMassKlongLikeSign; // Invariant mass histogram in klong bins for like sign pair
124   AliJTH1D fhInvariantMassPtaLikeSign;   // Invariant mass histogram in pta bins for like sign pairs
125
126   // Unlike sign bins for invariant mass
127   AliJTH1D fhInvariantMassXeUnlikeSign;    // Invariant mass histogram in xlong bins for unlike sign pairs
128   AliJTH1D fhInvariantMassKlongUnlikeSign; // Invariant mass histogram in klong bins for unlike sign pair
129   AliJTH1D fhInvariantMassPtaUnlikeSign;   // Invariant mass histogram in pta bins for unlike sign pairs
130
131   AliJTH1D fhDphiAssocIsolTrigg ; // comment me
132   AliJTProfile fhMeanPtAssoc ; // comment me
133   AliJTProfile fhMeanZtAssoc ; // comment me
134   AliJTH1D fhPtAssocUE; //FK// Eta Gap dependent UE
135   AliJTH1D fhPtaEtaGapN; //FK// pta spectrum with Eta Gap
136   AliJTH1D fhPtaRGapN; //FK// pta spectrum with Eta Gap
137   AliJTH1D fhPtAssocUEIsolTrigg; //FK// trigger isolated hadron
138   AliJTH1D fhPtAssocN, fhPtAssocF; // comment needed
139   
140   //cosThetaStar
141   AliJTH1D fhCosThetaStar; // comment me
142   AliJTH2D fhCMSrap;           // comment me
143   AliJTProfile fpCMSrap; // comment me
144   AliJTH1D fhInvMass, fhPairPtMass, fhPairDPhi, fhPairDpT; // comment me
145   AliJTH1D fhPairPtDphi, fhPairPt; // comment me
146   
147   AliJTH1D fhDEtaNear; // comment me
148   AliJTH1D fhDEtaNearM; // comment me
149   AliJTH1D fhDEtaNearXEbin; // comment me
150   AliJTH1D fhDEtaNearMXEbin; // comment me
151   
152   AliJTH1D fhDRNearPt; // comment me
153   AliJTH1D fhDRFarPt; // comment me
154   AliJTH1D fhDRNearPtMoon; // comment me
155   AliJTH1D fhDRFarPtMoon; // comment me
156   AliJTH1D fhDRNearPtMoonM; // comment me
157   AliJTH1D fhDRFarPtMoonM ; // comment me
158   
159   //AliJTH1D *hDEtaUE;
160   AliJTH1D fhDEtaFar; // comment me
161   AliJTH1D fhIphiTrigg; // comment me
162   AliJTH1D fhIetaTrigg; // comment me
163   AliJTH1D fhIphiAssoc; // comment me
164   AliJTH1D fhIetaAssoc; // comment me
165   AliJTH1D fhFixPtBin; // comment me
166   AliJTH1D fhTriggPtBin; // comment me
167   AliJTH1D fhTriggPtBinIsolTrigg; //FK// trigger isolated hadron
168   AliJTH1D fhTriggMult; // comment me
169   AliJTH1D fhAssocPtBin; // comment me
170   //TH1D *hInvMassLike[2][kMaxNoCentrBin][kPtDim], *hInvMassUnLike[2][kMaxNoCentrBin][kPtDim];
171   
172   //==================================================
173   // xe slopes - done manually for the pp purpose only
174   // you have to determine 7 trigger bins
175   //==================================================
176   AliJTH1D     fhxEN, fhxEF,  fhxEFIsolTrigg; // comment me
177   AliJTH1D     fhPoutF; // comment me
178   AliJTH1D         fhxEPtBin; // all=0,near=1,far=2
179
180   // jT distribution and background in xlong bins
181   AliJTH1D     fhJT;     // jt distribution in xlong bins
182   AliJTH1D     fhJTBg;   // eta gap background in xlong bins
183   AliJTH1D     fhJTBgR;  // R-gap background in xlong bins
184  
185   AliJTH1D     fhJTLikeSign;     // jt distribution for like sign pairs
186   AliJTH1D     fhJTBgLikeSign;   // eta gap background for like sign pair
187   AliJTH1D     fhJTBgRLikeSign;  // R-gap background for like sign pairs
188
189   AliJTH1D     fhJTUnlikeSign;     // jt distribution for unlike sign pairs
190   AliJTH1D     fhJTBgUnlikeSign;   // eta gap background for unlike sign pair
191   AliJTH1D     fhJTBgRUnlikeSign;  // R-gap background for unlike sign pairs
192
193   // jT distribution and background in klong bins
194   AliJTH1D     fhJTKlong;     // jT distribution in klong bins
195   AliJTH1D     fhJTKlongBg;   // eta gap background in klong bins
196   AliJTH1D     fhJTKlongBgR;  // R-gap background in klong bins
197  
198   AliJTH1D     fhJTKlongLikeSign;     // jt distribution for like sign pairs
199   AliJTH1D     fhJTKlongBgLikeSign;   // eta gap background for like sign pair
200   AliJTH1D     fhJTKlongBgRLikeSign;  // R-gap background for like sign pairs
201
202   AliJTH1D     fhJTKlongUnlikeSign;     // jt distribution for unlike sign pairs
203   AliJTH1D     fhJTKlongBgUnlikeSign;   // eta gap background for unlike sign pair
204   AliJTH1D     fhJTKlongBgRUnlikeSign;  // R-gap background for unlike sign pairs
205
206   // jT distribution and background in pta bins
207   AliJTH1D     fhJTPta;     // jT distribution in pTa bins
208   AliJTH1D     fhJTPtaBg;   // eta gap background in pTa bins
209   AliJTH1D     fhJTPtaBgR;  // R-gap background in pTa bins
210  
211   AliJTH1D     fhJTPtaLikeSign;     // jt distribution for like sign pairs
212   AliJTH1D     fhJTPtaBgLikeSign;   // eta gap background for like sign pair
213   AliJTH1D     fhJTPtaBgRLikeSign;  // R-gap background for like sign pairs
214
215   AliJTH1D     fhJTPtaUnlikeSign;     // jt distribution for unlike sign pairs
216   AliJTH1D     fhJTPtaBgUnlikeSign;   // eta gap background for unlike sign pair
217   AliJTH1D     fhJTPtaBgRUnlikeSign;  // R-gap background for unlike sign pairs
218   
219   //FK//mix2    inclusve spectra
220
221   AliJHistManager * fHmgInclusive;
222   AliJTH1D fhIetaTriggFromFile; //FK//mix2
223   AliJTH1D fhIetaAssocFromFile  ;//FK//mix2
224   AliJTH1D fhIphiTriggFromFile  ;//FK//mix2
225   AliJTH1D fhIphiAssocFromFile  ;//FK//mix2
226   AliJTH1D fhDphiAssocMixFromFile  ;//FK//mix2
227   
228   TH1D *fhDEtaNearMixFromFile[kMaxNoCentrBin][kPtDim][kPtDim]; // comment me
229   
230   //===================================================
231   // Event/Track histograms
232   //===================================================
233   AliJTH1D fhLPpt; // comment me
234   AliJTH1D fhLPpairPt; // comment me
235   AliJTH1D fhChargedPt, fhChargedPtNoCorr; // comment me
236   AliJTH1D fhChargedPtJacek; // comment me
237   AliJTH1D fhChargedPtJacekEta; // 3 bins in eta
238   AliJTH1D fhChargedPtFiete; // comment me
239   AliJTH1D fhVdelta2,fhVdelta3, fhVN; // comment me
240   AliJTProfile fhTrackingEfficiency; // comment needed
241   AliJTProfile fpV2, fpV3, fpVdeltaNorm; // comment me
242   AliJTH1D fhChargedEta; // comment me
243   AliJTH1D fhLPeta; // comment me
244   AliJTH1D fhAssocMult; // comment me
245   AliJTH1D fhChargedMult, fhChargedMultCut; // comment me
246   AliJTH2D fhChargedMultCent; // comment me
247   
248   // XAliJT histogrmas
249   AliJTH1D     fhXt;  // comment needed
250   AliJTH1D     fhXtWeighted; // comment needed
251   AliJTH1D     fhXtWeightedHT; // HT pions
252   AliJTH1D       fhPtForXt; // comment me
253   AliJTProfile fhConeActivity;          // pT sum in cone, to be compared to the ALICE UE results
254   AliJTProfile fhConeActivityIsolated;  // activity for isolated triggers
255   AliJTProfile fhPerpConeActivity;      // pT sum in cone perpendicular to the leading particle
256   AliJTProfile fhPerpConeActivityIsolated;  // same as above but for isolated leading particle
257   
258   AliJTH1D  fhV0AMult; // comment needed
259   
260   AliJTH1D fhZVertRaw; // comment me
261   AliJTH1D fhZVertRawErr; // comment me
262   AliJTH1D fhZVert; // comment me
263   AliJTH1D fhCentr; // comment me
264   AliJTH1D fhiCentr; // comment me
265   AliJTH1D fhEventPerRun; // comment me
266   AliJTH2D fhVertexZTriggVtx; // comment me
267   
268   AliJTH1D fhIsolatedLPpt; // comment me
269   AliJTH1D fhBkgActivity; // comment me
270   
271   // D.J
272   //===================================================
273   // Jet with LP Histograms
274   //===================================================
275   AliJTH1D fhDphiLPJet; // comment me
276   AliJTH1D fhDEtaLPJet; // comment me
277   AliJTH1D fhDPtLPJet; // comment me
278   AliJTH1D fhLPJetPTt; // comment me
279   AliJTH1D fhLPJetPt; // comment me
280   AliJTH1D fhLPJetEtaPTt; // comment me
281   AliJTH1D fhLPJetRapidityPTt; // comment me
282   AliJTH1D fhLPJetMassPTt; // comment me
283   
284   AliJTH1D fhLeadingJetWLPPTt; // comment me
285   
286   AliJTH1D fhJetPt; // comment me
287   AliJTH1D fhLeadingJetPt; // comment me
288   AliJTH1D fhLeadingJetWLPPt; // comment me
289   
290   AliJTH1D fhJetAssymPTt; // comment me
291   AliJTH1D fhJetMassPTt; // comment me
292   AliJTH1D fhJetUEPt; // comment me
293   
294   //===================================================
295   // Jet Histograms
296   //===================================================
297   AliJTH1D fhJetDphi; // comment me
298   AliJTH1D fhJetDeta; // comment me
299   AliJTH1D fhJetMultPt; // comment me
300   
301   //==================================================
302   // Background study
303   //==================================================
304   AliJTH1D fhJetRho; // comment me
305   AliJTH1D fhJetRhoSigma; // comment me
306   
307   AliJTH1D fhJetPartMult; // comment me
308   
309   AliJTH1D fhRecoDiJetM; // comment me
310   AliJTH1D fhRecoDiJetdPhi; // comment me
311   AliJTH1D fhRecoDiJetkT; // comment me
312   
313   //===================================================
314   // parton 71 Histogram
315   //===================================================
316   AliJTH1D fhNParton71 ; // comment me
317   AliJTH1D fhNStringGroup; // comment me
318   AliJTH1D fhNStringGroupFrom; // comment me
319   AliJTH1D fhNTracksInStringGroupFrom; // comment me
320   AliJTH1D fhRapidity71From; // comment me
321   AliJTH1D fhPt71From; // comment me
322   
323   //===================================================
324   // PHENIX histograms
325   //===================================================
326   //==Run-by-Run calib ================================
327   TH1D *fTofPbSc[kMaxNoRuns]; TH1D *fTofPbGl[kMaxNoRuns]; // comment me
328   //==Pt and FlipSlide Spectra=============================================
329   TH1D *fhCglPt3PC[kMaxNoCentrBin],    *fhCglPtFlip3PC[kMaxNoCentrBin]; // comment me
330   TH1D *fhCglPt32PC[kMaxNoCentrBin],   *fhCglPtFlip32PC[kMaxNoCentrBin]; // comment me
331
332
333   AliJTH1D fhTrackSelection; // checking bit convention
334   
335   // Manual bin definitions
336   int fNJacek;        // Number of bins in Jacek binning
337   double *fPttJacek;  // Bin borders in Jacek binning
338   int fNEta;          // Number of bins in eta binning
339   double *fEta;       // Bin borders in eta binning
340   int fNJanFiete;     // Number of bins in JanFiete binning
341   double *fJanFiete;  // Bin borders in JanFiete binning
342   
343   // additional histos
344   AliJTH1D fhEvents; // comment needed
345   AliJTH1D fhEventTrigger; // comment needed
346   
347 protected:
348   double fmaxEtaRange;                       // maximum eta range
349   double fmaxTriggEtaRange;                  // should be the same as above. Use for GeoAccCorr
350   double ftriggFiducCut;                     // fiducial cut for the trigger part in eta. Not in use I think (Jan)
351   int fnUE, fnUEfar;                           // logarithmic binning for some pT and UE histos
352   double fUEBinsx[101], fUEBinsxFar[101];      // logarithmic bins for the underlaying event
353   double fLowRange, fHighRange;                // lower and upper range for dphi histos
354 };
355
356 #endif
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378