]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/JCORRAN/AliJJetCORRAnalysis.h
Update on JCORRAN:Dong Jo Kim
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJJetCORRAnalysis.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 ALIJJETCORRANALYSIS_H
11 #define ALIJJETCORRANALYSIS_H
12
13 #include <vector>
14 #include <TObjArray.h>
15 #include <TClonesArray.h>
16 #include "AliJConst.h"
17 #include "AliJCard.h"
18 #include "AliJJet.h"
19 #include "AliJHistManager.h"
20
21 class AliJCard;
22 class AliJHistos;
23 class AliJCorrelations;
24 class AliJEfficiency;
25 class AliJEventPool;
26
27 class AliJJetCORRAnalysis{
28     public:
29         AliJJetCORRAnalysis();
30         AliJJetCORRAnalysis( AliJCard * card );
31         AliJJetCORRAnalysis( const AliJJetCORRAnalysis & obj );
32                 AliJJetCORRAnalysis& operator=(const AliJJetCORRAnalysis & obj);
33                 virtual ~AliJJetCORRAnalysis();
34                 void SetDebugMode( int debug) { fDebugMode = debug; };
35
36                 void CreateHistos();
37                 void FillHistosJets(TObjArray *Jets);
38
39                 void AddJets(TObjArray * jets ){ 
40                         if( !jets ) {
41                                 cout<<"JWARN_C1 in AddJets jets="<<jets<<endl;
42                                 //return;
43                         }
44                         fJetListOfList.Add( (TObject*)jets ); 
45                         if( !jets ) return;
46                         for( int i=0;i<jets->GetEntriesFast();i++ ){
47                                 //((AliJJet*)jets->At(i))->ReSum();
48                         }
49                 } // TODO clean before event
50
51                 int GetNJets(){ return GetJetList()->GetEntriesFast(); }
52                 TObjArray* GetJetList(){ return fJetList; }
53                 Double_t GetJetEtaRange(){ return fJetEtaRange; }
54                 void SetJetEtaRange(double eta){ fJetEtaRange=eta; }
55                 void SetJetList(TObjArray* jetlist){ fJetList=jetlist; }
56                 void SetInputList(TObjArray * ilist){ fInputList = ilist;}
57                 void SetTrackJetMap(std::vector<int> * v){ fTrackJetMap=v;}
58                 void SetJetPtBin( TVector * b){ fJetPtBins=b; }
59                 void SetTargetJetIndex( int jfindex ) { fTargetJetIndex = jfindex; } // PlayCorrelation only for selected jetfinder
60
61                 AliJJet & Jet( int i ){ return *(AliJJet*) fJetList->At(i); }
62                 void UserCreateOutputObjects();
63                 void UserExec();
64                 void Terminate() const;
65
66                 void ClearBeforeEvent();
67
68                 // Related JCORRAN classes
69                 void PlayCorrelation(TClonesArray *triggList, TClonesArray *assocList);
70                 void SetCentralityBin( int cbin) { cBin = cbin;}
71                 void SetCentrality( float cent) { fcent = cent;}
72                 void SetZVertex( float zvtx) { zVert = zvtx;}
73                 void SetZVertexBin( int zbin) { zBin = zbin;}
74                 AliJEfficiency* GetAliJEfficiency() { return fEfficiency;}
75                 AliJHistos *GetAliJHistos() { return fHistos;}
76
77         private:
78                 TObjArray * fInputList; // comment needed
79                 TObjArray * fJetList; // comment needed
80                 TObjArray fJetListOfList; // !comment needed
81                 bool   fIsFullAcceptance; // comment needed
82                 double fJetEtaRange; // comment needed
83                 std::vector<int> *fTrackJetMap; // comment needed
84
85                 TVector *fJetPtBins;
86                 double   fJetPtMinCut;
87
88                 AliJCard * fCard; // comment needed
89                 AliJHistos * fHistos;               //!
90                 AliJEfficiency *fEfficiency;
91                 TClonesArray * ftriggList;
92                 TClonesArray * fassocList;
93                 AliJCorrelations *fcorrelations;    //!
94                 AliJEventPool *fassocPool;          //!
95                 int cBin;
96                 float fcent;
97                 int zBin;
98                 float zVert;
99                 Int_t fevt; // event number
100                 int fTargetJetIndex;
101                 int fDebugMode;
102 };
103
104 #endif
105