]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALJetMicroDst.h
updated version number
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetMicroDst.h
index 67d53325cb354693699c61cc5f3f68602e774397..fea92a0be03e62b8da305a23059a4587dba9cc3a 100644 (file)
@@ -9,10 +9,12 @@
 //                  
 //*-- Author: Aleksei Pavlinov (WSU)
 #include <TNamed.h>
-#include <TFile.h>
-#include <TTree.h>
-#include <TH1.h>
-#include <TH2.h>
+class TFile;
+class TTree;
+class TH1;
+class TH1F;
+class TH2F;
+class TH2;
 
 class AliGenHijingEventHeader;
 class AliRun;
@@ -22,66 +24,125 @@ class TBrowser;
 
 class AliEMCALJetMicroDst: public TNamed {
 
-  private:
-  Int_t  fDebug; 
-
-  protected:
-  TFile*  fFile;
-  TTree*  fTree;
-  TString fName;
-  TList*  fListHist;    //!
-
-  // For partons after hard scattering
-  Int_t   fNpart;
-  Float_t fXpt[4]; 
-  Float_t fXeta[4]; 
-  Float_t fXphi[4];
-  // Jet 
-  Int_t   fNjet;
-  Float_t fJet[10]; 
-  Float_t fJetaL[10]; 
-  Float_t fJphiL[10];
-  Float_t fJetaW[10]; 
-  Float_t fJphiW[10];
-  // Charge particle in jet ??
 
   public:
-  AliEMCALJetMicroDst(char *name="jetMicroDst",
-  char *tit="jet Micro Dst for preparation of proposal");
+  AliEMCALJetMicroDst(const char *name="jetMicroDst",
+  const char *tit="jet Micro Dst for preparation of proposal");
+  AliEMCALJetMicroDst(const  AliEMCALJetMicroDst &) : TNamed("", ""){
+    Fatal("cpy ctor", "not implemented") ; }
   virtual ~AliEMCALJetMicroDst();
-  virtual Bool_t  Create(TFile *file);
-  virtual Bool_t  Create(const char  *fname);
-  virtual void    Fill(AliRun *run, AliEMCALJetFinder* jetFinder);
-  virtual void    FillPartons(AliGenHijingEventHeader *header);
-  virtual void    FillPartons();
-  virtual void    FillJets(AliEMCALJetFinder* jetFinder);
-
-  virtual Bool_t  Open(const char  *fname);    // *MENU* 
-  virtual Bool_t  Initialize(TFile *file);
-  virtual void    Print(Option_t* option="") const;    // *MENU* 
-  virtual Int_t   GetEntry(Int_t entry);
-  virtual void    Test();
-  Int_t   GetNpart() {return fNpart;}
-  Bool_t  GetParton(Int_t i, Float_t& pt, Float_t& eta, Float_t& phi);
-  Bool_t  GetParton(Int_t i, TVector3& vec);
-  Int_t   GetNjet() {return fNjet;} 
-  Bool_t  GetJet(Int_t i,Int_t mode, Float_t& pt,Float_t& eta,Float_t& phi);
-  Bool_t  GetJet(Int_t i,Int_t mode, TVector3& vec);
+  Bool_t  Create(TFile *file);
+  Bool_t  Create(const char  *fname);
+  void    Fill(AliRun *run=0, AliEMCALJetFinder* jetFinder=0, Int_t modeFilling=0);
+  void    FillPartons(AliGenHijingEventHeader *header);
+  void    FillPartons();
+  void    FillJets(AliEMCALJetFinder* jetFinder);
+  void    FillEtForEMCAL(AliEMCALJetFinder* jetFinder);
+  void    FillEtForGrid(AliEMCALJetFinder* jetFinder);
+  void    FillArrays(TH2* hid, Int_t &n, Int_t *id, Float_t *et);
+  void    FillChargeParticles(AliEMCALJetFinder* jetFinder);  
+  
+  void    FillJetsControl(); // 18-jan-2003
+
+  Bool_t  Open(Int_t mode=1) {return Open(DefineName(mode));}  // *MENU* 
+  Bool_t  Open(const char  *fname);                                  // *MENU* 
+  const Char_t* DefineName(Int_t mode=1);                      // *MENU*
+  Bool_t  Initialize(TFile *file);
+  void    Print(Option_t* option="") const;                          // *MENU* 
+  Int_t   GetEntry(Int_t entry);
+  void    Test();
+  Int_t   GetNpart() const {return fnpart;}
+  Bool_t  GetParton(Int_t i, Float_t& pt, Float_t& eta, Float_t& phi) const ;
+  Bool_t  GetParton(Int_t i, TVector3& vec) const ;
+  Int_t   GetNjet() const {return fnjet;} 
+  Bool_t  GetJet(Int_t i,Int_t mode, Float_t& pt,Float_t& eta,Float_t& phi) const ;
+  Bool_t  GetJet(Int_t i,Int_t mode, TVector3& vec) const ;
   static  void FillVector(Float_t pt, Float_t eta, Float_t phi, TVector3& vec);
+  void    GetEtaPhi(Int_t id, Double_t &eta, Double_t &phi) const ;
+  TVector3& GetCellVector(Int_t i) const ;
+  TVector3& GetGridVector(Int_t i) const ;
+  // 13-apr-2003
+  Double_t GetSumInCone(TVector3 &jet, Int_t nc, Float_t *et,Float_t *eta,Float_t *phi, Double_t cellEtCut, Double_t rJet) const ;
+  Double_t GetEmcalEtInCone(TVector3 &jet, Double_t cellEtCut=0.0, Double_t rJet=0.5) ;
+  Double_t GetTpcPtInCone(TVector3 &jet, Double_t cellEtCut=0.0, Double_t rJet=0.5) ;
+  Double_t GetSum(Int_t n, Float_t *ar, Double_t cut=0.0) const ;
+  Double_t GetSumEmcal(Double_t cut=0.0) {return GetSum(fncell, fetcell, cut);}
+  Double_t GetSumTpc(Double_t cut=0.0) {return GetSum(fnchp, fppt, cut);}
 
   void    SetDebug(Int_t flag) {fDebug = flag;}
   Float_t GetDebug() const  {return fDebug;}
 
-  TTree* GetTree() {return fTree;}
-  TFile* GetFile() {return fFile;}
+  TTree* GetTree() const {return fTree;}
+  TFile* GetFile() const {return fFile;}
   void   Close();
 
+  Bool_t  IsPythiaDst() const ;
   virtual Bool_t  IsFolder() const;
-  virtual void Browse(TBrowser* b);
+  virtual void Browse(TBrowser* b) const ;
+
+  static TList *MoveHistsToList(const char* name="List of Hist", Bool_t putToBrowser=kTRUE);
+
+  AliEMCALJetMicroDst & operator = (const AliEMCALJetMicroDst &) {
+    Fatal("operator =", "not implemented") ; return *this ; }
+  
+  private:
+  
+  Float_t fpphi[20000]; //[nchp]
+  Int_t   fDebug;      // debug flag
+  TFile*  fFile;       // filename
+  TTree*  fTree;       // Tree pointer
+  TList*  fListHist;    //!
+  TString fFileName;    // for convenience
+
+  Float_t fdecone;   //! for EMCAL
+  Float_t fptcone;   //! for ch.particles 
+  // For partons after hard scattering
+  Int_t   fnpart;      //npartons
+  Float_t fxpt[4];  //[npart]
+  Float_t fxeta[4]; //[npart]
+  Float_t fxphi[4]; //[npart]
+  // Jet 
+  Int_t   fnjet;       // number of jets
+  Float_t fjet[10];   //[njet]
+  Float_t fjetal[10]; //[njet]
+  Float_t fjphil[10]; //[njet]
+  Float_t fjetaw[10]; //[njet]
+  Float_t fjphiw[10]; //[njet]
+  // Charge particle in jet ??
+  // eT in EMCAL itself - 24-jan-2003
+  Int_t   fncell;         // 96*144 =13824 
+  Int_t   fidcell[13824]; //[ncell]
+  Float_t fetcell[13824]; //[ncell] : de = det*sf
+  // eT in EMCAL grid for jet finder 
+  Int_t   fngrid;         // 96*144 =13824 
+  Int_t   fidgrid[13824]; //[ngrid]
+  Float_t fetgrid[13824]; //[ngrid]
+  // charge particle which hit to EMCAL - 28-jan-2003
+  Int_t   fnchp;       //number of charged particles
+  Int_t   fpid[20000];  //[nchp]
+  Float_t fppt[20000];  //[nchp]
+  Float_t fpeta[20000]; //[nchp]
+  TH1F*  fhPtPart; //hist
+  TH1F*         fhNJet;        //hist
+  TH1F*  fhPtJet;      //hist
+  TH2F*  fhEtaPhiPart; //hist
+  TH2F*  fhEtaPhiJet;  //hist
+  TH1F*  fhNcell;      //hist
+  TH1F*         fhCellId;      //hist
+  TH1F*         fhCellEt;      //hist
+       
+  TH1F*         fhSumEt;       //hist
+  TH1F*  fhNgrid;      //hist
+  TH1F*         fhGridId;      //hist
+  TH1F*  fhGridEt;     //hist
+  TH1F*  fhSumEtGrForJF;       //hist
 
-  static TList *MoveHistsToList(char* name="List of Hist", Bool_t putToBrowser=kTRUE);
 
-  ClassDef(AliEMCALJetMicroDst,1) // Micro Dst for jet analysis
+  ClassDef(AliEMCALJetMicroDst,3) // Micro Dst for jet analysis
 };
 
 #endif // AliEMCALJETMICRODST_H
+/*
+What to do
+1. Common info about event
+ */