//
//*-- 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;
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
+ */