]>
Commit | Line | Data |
---|---|---|
e8f1e037 | 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: | |
6ec7dfce | 26 | Int_t fDebug; |
e8f1e037 | 27 | |
6ec7dfce | 28 | public: |
e8f1e037 | 29 | TFile* fFile; |
30 | TTree* fTree; | |
31 | TString fName; | |
32 | TList* fListHist; //! | |
6ec7dfce | 33 | TString fFileName; // for convenience |
e8f1e037 | 34 | |
6ec7dfce | 35 | Float_t decone; //! for EMCAL |
36 | Float_t ptcone; //! for ch.particles | |
e8f1e037 | 37 | // For partons after hard scattering |
6ec7dfce | 38 | Int_t npart; |
39 | Float_t xpt[4]; //[npart] | |
40 | Float_t xeta[4]; //[npart] | |
41 | Float_t xphi[4]; //[npart] | |
e8f1e037 | 42 | // Jet |
6ec7dfce | 43 | Int_t njet; |
44 | Float_t jet[10]; //[njet] | |
45 | Float_t jetal[10]; //[njet] | |
46 | Float_t jphil[10]; //[njet] | |
47 | Float_t jetaw[10]; //[njet] | |
48 | Float_t jphiw[10]; //[njet] | |
e8f1e037 | 49 | // Charge particle in jet ?? |
6ec7dfce | 50 | // eT in EMCAL itself - 24-jan-2003 |
51 | Int_t ncell; // 96*144 =13824 | |
52 | Int_t idcell[13824]; //[ncell] | |
53 | Float_t etcell[13824]; //[ncell] : de = det*sf | |
54 | // eT in EMCAL grid for jet finder | |
55 | Int_t ngrid; // 96*144 =13824 | |
56 | Int_t idgrid[13824]; //[ngrid] | |
57 | Float_t etgrid[13824]; //[ngrid] | |
58 | // charge particle which hit to EMCAL - 28-jan-2003 | |
59 | Int_t nchp; | |
60 | Int_t pid[20000]; //[nchp] | |
61 | Float_t ppt[20000]; //[nchp] | |
62 | Float_t peta[20000]; //[nchp] | |
63 | Float_t pphi[20000]; //[nchp] | |
e8f1e037 | 64 | |
65 | public: | |
66 | AliEMCALJetMicroDst(char *name="jetMicroDst", | |
67 | char *tit="jet Micro Dst for preparation of proposal"); | |
68 | virtual ~AliEMCALJetMicroDst(); | |
6ec7dfce | 69 | Bool_t Create(TFile *file); |
70 | Bool_t Create(const char *fname); | |
71 | void Fill(AliRun *run=0, AliEMCALJetFinder* jetFinder=0, Int_t modeFilling=0); | |
72 | void FillPartons(AliGenHijingEventHeader *header); | |
73 | void FillPartons(); | |
74 | void FillJets(AliEMCALJetFinder* jetFinder); | |
75 | void FillEtForEMCAL(AliEMCALJetFinder* jetFinder); | |
76 | void FillEtForGrid(AliEMCALJetFinder* jetFinder); | |
77 | void FillArrays(TH2* hid, Int_t &n, Int_t *id, Float_t *et); | |
78 | void FillChargeParticles(AliEMCALJetFinder* jetFinder); | |
79 | ||
80 | void FillJetsControl(); // 18-jan-2003 | |
e8f1e037 | 81 | |
6ec7dfce | 82 | Bool_t Open(const Int_t mode=1) {return Open(DefineName(mode));} // *MENU* |
83 | Bool_t Open(const char *fname); // *MENU* | |
84 | const Char_t* DefineName(const Int_t mode=1); // *MENU* | |
85 | Bool_t Initialize(TFile *file); | |
86 | void Print(Option_t* option="") const; // *MENU* | |
87 | Int_t GetEntry(Int_t entry); | |
88 | void Test(); | |
89 | Int_t GetNpart() {return npart;} | |
e8f1e037 | 90 | Bool_t GetParton(Int_t i, Float_t& pt, Float_t& eta, Float_t& phi); |
91 | Bool_t GetParton(Int_t i, TVector3& vec); | |
6ec7dfce | 92 | Int_t GetNjet() {return njet;} |
e8f1e037 | 93 | Bool_t GetJet(Int_t i,Int_t mode, Float_t& pt,Float_t& eta,Float_t& phi); |
94 | Bool_t GetJet(Int_t i,Int_t mode, TVector3& vec); | |
95 | static void FillVector(Float_t pt, Float_t eta, Float_t phi, TVector3& vec); | |
6ec7dfce | 96 | void GetEtaPhi(Int_t id, Double_t &eta, Double_t &phi); |
97 | TVector3& GetCellVector(Int_t i); | |
98 | TVector3& GetGridVector(Int_t i); | |
99 | // 13-apr-2003 | |
100 | Double_t GetSumInCone(TVector3 &jet, Int_t nc, Float_t *et,Float_t *eta,Float_t *phi, Double_t cellEtCut, Double_t rJet); | |
101 | Double_t GetEmcalEtInCone(TVector3 &jet, Double_t cellEtCut=0.0, Double_t rJet=0.5); | |
102 | Double_t GetTpcPtInCone(TVector3 &jet, Double_t cellEtCut=0.0, Double_t rJet=0.5); | |
103 | Double_t GetSum(Int_t n, Float_t *ar, Double_t cut=0.0); | |
104 | Double_t GetSumEmcal(Double_t cut=0.0) {return GetSum(ncell, etcell, cut);} | |
105 | Double_t GetSumTpc(Double_t cut=0.0) {return GetSum(nchp, ppt, cut);} | |
e8f1e037 | 106 | |
107 | void SetDebug(Int_t flag) {fDebug = flag;} | |
108 | Float_t GetDebug() const {return fDebug;} | |
109 | ||
110 | TTree* GetTree() {return fTree;} | |
111 | TFile* GetFile() {return fFile;} | |
112 | void Close(); | |
113 | ||
6ec7dfce | 114 | Bool_t IsPythiaDst(); |
e8f1e037 | 115 | virtual Bool_t IsFolder() const; |
116 | virtual void Browse(TBrowser* b); | |
117 | ||
118 | static TList *MoveHistsToList(char* name="List of Hist", Bool_t putToBrowser=kTRUE); | |
119 | ||
120 | ClassDef(AliEMCALJetMicroDst,1) // Micro Dst for jet analysis | |
121 | }; | |
122 | ||
123 | #endif // AliEMCALJETMICRODST_H | |
6ec7dfce | 124 | /* |
125 | What to do | |
126 | 1. Common info about event | |
127 | */ |