ALiEMCALJetMicroDst first commit.
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetMicroDst.h
1 #ifndef ALIEMCALJETMICRODST_H
2 #define ALIEMCALJETMICRODST_H
3 /* Copyright(c) 1998-2002, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //                  
10 //*-- Author: Aleksei Pavlinov (WSU)
11 #include <TNamed.h>
12 #include <TFile.h>
13 #include <TTree.h>
14 #include <TH1.h>
15 #include <TH2.h>
16
17 class AliGenHijingEventHeader;
18 class AliRun;
19 class AliEMCALJetFinder;
20 class TVector3;
21 class TBrowser;
22
23 class AliEMCALJetMicroDst: public TNamed {
24
25   private:
26   Int_t  fDebug; 
27
28   protected:
29   TFile*  fFile;
30   TTree*  fTree;
31   TString fName;
32   TList*  fListHist;    //!
33
34   // For partons after hard scattering
35   Int_t   fNpart;
36   Float_t fXpt[4]; 
37   Float_t fXeta[4]; 
38   Float_t fXphi[4];
39   // Jet 
40   Int_t   fNjet;
41   Float_t fJet[10]; 
42   Float_t fJetaL[10]; 
43   Float_t fJphiL[10];
44   Float_t fJetaW[10]; 
45   Float_t fJphiW[10];
46   // Charge particle in jet ??
47
48   public:
49   AliEMCALJetMicroDst(char *name="jetMicroDst",
50   char *tit="jet Micro Dst for preparation of proposal");
51   virtual ~AliEMCALJetMicroDst();
52   virtual Bool_t  Create(TFile *file);
53   virtual Bool_t  Create(const char  *fname);
54   virtual void    Fill(AliRun *run, AliEMCALJetFinder* jetFinder);
55   virtual void    FillPartons(AliGenHijingEventHeader *header);
56   virtual void    FillPartons();
57   virtual void    FillJets(AliEMCALJetFinder* jetFinder);
58
59   virtual Bool_t  Open(const char  *fname);    // *MENU* 
60   virtual Bool_t  Initialize(TFile *file);
61   virtual void    Print(Option_t* option="") const;    // *MENU* 
62   virtual Int_t   GetEntry(Int_t entry);
63   virtual void    Test();
64   Int_t   GetNpart() {return fNpart;}
65   Bool_t  GetParton(Int_t i, Float_t& pt, Float_t& eta, Float_t& phi);
66   Bool_t  GetParton(Int_t i, TVector3& vec);
67   Int_t   GetNjet() {return fNjet;} 
68   Bool_t  GetJet(Int_t i,Int_t mode, Float_t& pt,Float_t& eta,Float_t& phi);
69   Bool_t  GetJet(Int_t i,Int_t mode, TVector3& vec);
70   static  void FillVector(Float_t pt, Float_t eta, Float_t phi, TVector3& vec);
71
72   void    SetDebug(Int_t flag) {fDebug = flag;}
73   Float_t GetDebug() const  {return fDebug;}
74
75   TTree* GetTree() {return fTree;}
76   TFile* GetFile() {return fFile;}
77   void   Close();
78
79   virtual Bool_t  IsFolder() const;
80   virtual void Browse(TBrowser* b);
81
82   static TList *MoveHistsToList(char* name="List of Hist", Bool_t putToBrowser=kTRUE);
83
84   ClassDef(AliEMCALJetMicroDst,1) // Micro Dst for jet analysis
85 };
86
87 #endif // AliEMCALJETMICRODST_H