Compatibility with ROOT trunk
[u/mrichter/AliRoot.git] / JETAN / AliCdfJetFinder.h
1 #ifndef ALICDFJETFINDER_H
2 #define ALICDFJETFINDER_H
3
4 /*
5  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
6  * See cxx source for full Copyright notice
7  *
8 */
9
10 //  Definition of constants, structures and functions for jet finder
11
12 #include "AliJetFinder.h"
13
14 using namespace std ;
15
16
17 // structure of jet and particles container
18 struct varContainer
19   {
20   Double_t  pt;  // pt of particle/jet
21   Double_t eta;  // eta of particle/jet
22   Double_t phi;  // phi of particle/jet
23   Int_t    njet; // njet is multiplicity of jet or if particles are stored , njet is index number of jet 
24   } ;
25
26 class AliCdfJetHeader;
27
28 class AliCdfJetFinder : public AliJetFinder
29   {
30   public:
31
32     AliCdfJetFinder();
33     virtual ~AliCdfJetFinder();
34
35     void           CreateOutputObjects(TList * const histos);
36     void           FindJets();
37     void           InitData();
38     void           FindCones();
39     void           ComputeConesWeight();
40     void           WriteJets() ;
41     void           AnalizeJets();
42     void           Clean();
43     
44     virtual void   FinishRun();
45
46     void           SetAnalyseJets(Bool_t flag = kTRUE) {fAnalyseJets = flag;}
47     
48   protected:
49     AliCdfJetFinder ( const AliCdfJetFinder& jf );
50     AliCdfJetFinder& operator = ( const AliCdfJetFinder& jf );
51
52     TList         *fHistos;    // List of histograms
53
54     Bool_t fFromAod ;          // is the data taken from AOD (or ESD filter) 
55     Bool_t fAODwrite ;         // write jets to AOD
56     Bool_t fAODtracksWrite ;   // write jet tracks to AOD
57     Bool_t fAnalyseJets;       // analyse jets
58         
59     TRefArray *fRefArr ;       //! pointer to references array of tracks from AOD
60
61     Int_t         fNJets;     //! counter of number of jets
62     Int_t         fNPart;     //! number of particles in event
63
64     Double_t      fRadius ;   // radius of jet 
65
66     Int_t fMinJetParticles;   // leading jet must contain AT LEAST fMinJetParticles
67     Double_t fJetPtCut;       // leading jet must have AT LEAST fJetPtCut
68
69     varContainer **fVectParticle; //! container for Particles
70     varContainer **fVectJet;      //! container for Jets
71
72     Double_t *fPtArray;  //! momentum array
73     Int_t    *fIdxArray;  //! index array of sorted pts
74
75
76     ClassDef(AliCdfJetFinder,2)
77    };
78 #endif
79