]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/JCORRAN/AliJJetJtAnalysis.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJJetJtAnalysis.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 // Dummy comment, should be replaced by a real one
8 //===========================================================
9
10 #ifndef ALIJJETJTANALYSIS_H
11 #define ALIJJETJTANALYSIS_H
12
13 #include <vector>
14 #include <TObjArray.h>
15 #include <TVector.h>
16 #include "AliJCard.h"
17 #include "AliJJet.h"
18 #include "AliJHistManager.h"
19 #include "AliJJetAnalysis.h"
20
21 class AliJEfficiency;
22 class TString;
23
24 class AliJJetJtAnalysis{
25     public:
26
27
28         AliJJetJtAnalysis();
29         AliJJetJtAnalysis( AliJCard * card );
30         AliJJetJtAnalysis(const AliJJetJtAnalysis& ap);
31         AliJJetJtAnalysis& operator = (const AliJJetJtAnalysis& ap);
32         ~AliJJetJtAnalysis();
33
34         //type = charged jet or full jet, js = cone size 
35
36         void FillHistosJets();
37
38         void AddJets(TObjArray * jets ){ 
39           if( !jets ) {
40             //return;
41           }
42           fJetListOfList.Add( (TObject*)jets ); 
43           //if( !jets ) return;
44           for( int i=0;i<jets->GetEntriesFast();i++ ){
45               //((AliJJet*)jets->At(i))->ReSum();
46           }
47         } // TODO clean before event
48
49         void SetJTracks(TClonesArray *tracks ){fTracks = tracks ;}
50
51
52         int GetNJets(){ return GetJetList()->GetEntriesFast(); }
53         TObjArray* GetJetList(){ return fJetList; }
54         //Double_t GetJetEtaRange(){ return fJetEtaRange; }
55         //void SetJetEtaRange(double eta){ fJetEtaRange=eta; }
56         void SetJetList(TObjArray* jetlist){ fJetList=jetlist; }
57         void SetInputList(TObjArray * ilist){ fInputList = ilist;}
58         //void SetTrackJetMap(std::vector<int> * v){ fTrackJetMap=v;}
59         //void SetJetPtBin( TVector * b){ fJetPtBins=b; }
60         void SetCard(AliJCard * card) {fCard = card;}
61
62         AliJJet & Jet( int i ){ return *(AliJJet*) fJetList->At(i); }
63
64         void UserCreateOutputObjects();
65         void UserExec();
66
67         void ClearBeforeEvent();
68         void FillJtHistogram( TObjArray *Jets, int iContainer );
69
70         void FillBgJtWithSmallerR(const TClonesArray &Jets,int iContainer, 
71             double nR, int iHist);
72
73         void FillBgJtWithDiffAxes (int iao, int ia, int iHist);
74
75         void WriteHistograms();
76         
77         int GetBin(TVector *array, double val){
78
79             int iBin=-1;
80             for(int i=1; i< array->GetNoElements(); i++){
81                 if((*array)[i] <= val && val<(*array)[i+1]){
82                     iBin=i-1;
83                     break;
84                 }
85             }
86
87             return iBin;
88         }
89         void SetJetFinderName(vector<TString> JetFinderName){ fJetFinderName = JetFinderName; }
90
91                 // Need for event loop
92         void SetCentralityBin( int cbin) { cBin = cbin;}
93         void SetCentrality( float cent) { fcent = cent;}
94         void SetZVertex( float zvtx) { zVert = zvtx;}
95         void SetZVertexBin( int zbin) { zBin = zbin;}
96                 void SetNumberOfJetFinders( int njfinder ) { nJetContainer = njfinder;}
97         AliJEfficiency* GetAliJEfficiency() { return fEfficiency;}
98
99
100
101     private:
102         TObjArray * fInputList; // comment needed
103         TObjArray * fJetList; // comment needed
104         TObjArray fJetListOfList; // !comment needed
105         //TObjArray * fJetBgList; // comment needed
106         //TObjArray fJetBgListOfList; // !comment needed
107         vector<TClonesArray>      fJetBgListOfList;
108
109         TVector  *fJetTriggPtBorders;
110         TVector  *fJetConstPtLowLimits;
111         TVector  *fJetAssocPtBorders;
112         TVector  *fDeltaRBorders;
113                 int nJetContainer;
114
115         AliJCard * fCard; // comment needed
116         AliJJetAnalysis *fJJetAnalysis;
117                 vector<TString> fJetFinderName;
118         vector<double>  fConeSizes;
119                 // Need for events
120                 AliJEfficiency *fEfficiency;
121                 int cBin;
122                 float fcent;
123                 int zBin;
124                 float zVert;
125         TClonesArray *fTracks;
126
127         //Histograms
128         AliJHistManager * fHMG;
129
130         AliJBin fJetFinderBin; 
131         AliJBin fJetTriggerBin; 
132         AliJBin fTrkPtBin; 
133         AliJBin fTrkLimPtBin; 
134         AliJBin fdRBin;
135         AliJBin fiHist;
136         AliJTH1D fhNumber;
137         AliJTH1D fhKNumber;
138         AliJTH1D fhJetPt ;
139         AliJTH1D fhJetPtBin;
140         AliJTH1D fhZ ;
141         AliJTH1D fhZBin;
142         AliJTH1D fhJt ;
143         AliJTH1D fhJtBin;
144         AliJTH1D fhJtWeightBin;
145         AliJTH1D fhLogJtWeightBin;
146         AliJTH1D fhJtWithPtCutWeightBinBin;
147         AliJTH1D fhLogJtWithPtCutWeightBinBin;
148         AliJTH1D fhJtBinLimBin;
149         AliJTH1D fhJtWeightBinLimBin;
150         AliJTH1D fhLogJtWeightBinLimBin;
151         
152         
153         AliJTH1D fhJetBgPt ;
154         AliJTH1D fhJetBgPtBin;
155         AliJTH1D fhBgZ ;
156         AliJTH1D fhBgZBin;
157         AliJTH1D fhBgJt ;
158         AliJTH1D fhBgJtBin;
159         AliJTH1D fhBgJtWeightBin;
160         AliJTH1D fhBgLogJtWeightBin;
161         AliJTH1D fhBgJtWithPtCutWeightBinBin;
162         AliJTH1D fhBgLogJtWithPtCutWeightBinBin;
163         AliJTH1D fhBgJtWithPtCutWeightBinBinSmallerR;
164         AliJTH1D fhBgLogJtWithPtCutWeightBinBinSmallerR;
165         AliJTH1D fhBgJtWithPtCutWeightBinBinDiffR;
166         AliJTH1D fhBgLogJtWithPtCutWeightBinBinDiffR;
167         AliJTH1D fhBgJtBinLimBin;
168         AliJTH1D fhBgJtWeightBinLimBin;
169         AliJTH1D fhBgLogJtWeightBinLimBin;
170         
171         AliJTH1D fhdeltaE;
172         AliJTH1D fhdeltaN;
173         AliJTH1D fhFullJetEChJetBin;
174         AliJTH1D fhFullChdRChJetBin;
175         AliJTH2D fh2DFullEvsChEdN0;
176         AliJTH2D fh2DFullEvsChEdNnot0;
177
178
179                 //double   fJetPtMinCut;
180 };
181
182 #endif
183