]>
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> | |
2f2f4d2b | 12 | class TFile; |
13 | class TTree; | |
14 | class TH1; | |
15 | class TH1F; | |
16 | class TH2F; | |
17 | class TH2; | |
e8f1e037 | 18 | |
19 | class AliGenHijingEventHeader; | |
20 | class AliRun; | |
21 | class AliEMCALJetFinder; | |
22 | class TVector3; | |
23 | class TBrowser; | |
24 | ||
25 | class AliEMCALJetMicroDst: public TNamed { | |
26 | ||
e8f1e037 | 27 | |
28 | public: | |
29 | AliEMCALJetMicroDst(char *name="jetMicroDst", | |
30 | char *tit="jet Micro Dst for preparation of proposal"); | |
31 | virtual ~AliEMCALJetMicroDst(); | |
6ec7dfce | 32 | Bool_t Create(TFile *file); |
33 | Bool_t Create(const char *fname); | |
34 | void Fill(AliRun *run=0, AliEMCALJetFinder* jetFinder=0, Int_t modeFilling=0); | |
35 | void FillPartons(AliGenHijingEventHeader *header); | |
36 | void FillPartons(); | |
37 | void FillJets(AliEMCALJetFinder* jetFinder); | |
38 | void FillEtForEMCAL(AliEMCALJetFinder* jetFinder); | |
39 | void FillEtForGrid(AliEMCALJetFinder* jetFinder); | |
40 | void FillArrays(TH2* hid, Int_t &n, Int_t *id, Float_t *et); | |
41 | void FillChargeParticles(AliEMCALJetFinder* jetFinder); | |
42 | ||
43 | void FillJetsControl(); // 18-jan-2003 | |
e8f1e037 | 44 | |
6ec7dfce | 45 | Bool_t Open(const Int_t mode=1) {return Open(DefineName(mode));} // *MENU* |
46 | Bool_t Open(const char *fname); // *MENU* | |
47 | const Char_t* DefineName(const Int_t mode=1); // *MENU* | |
48 | Bool_t Initialize(TFile *file); | |
49 | void Print(Option_t* option="") const; // *MENU* | |
50 | Int_t GetEntry(Int_t entry); | |
51 | void Test(); | |
2f2f4d2b | 52 | Int_t GetNpart() {return fnpart;} |
e8f1e037 | 53 | Bool_t GetParton(Int_t i, Float_t& pt, Float_t& eta, Float_t& phi); |
54 | Bool_t GetParton(Int_t i, TVector3& vec); | |
2f2f4d2b | 55 | Int_t GetNjet() {return fnjet;} |
e8f1e037 | 56 | Bool_t GetJet(Int_t i,Int_t mode, Float_t& pt,Float_t& eta,Float_t& phi); |
57 | Bool_t GetJet(Int_t i,Int_t mode, TVector3& vec); | |
58 | static void FillVector(Float_t pt, Float_t eta, Float_t phi, TVector3& vec); | |
6ec7dfce | 59 | void GetEtaPhi(Int_t id, Double_t &eta, Double_t &phi); |
60 | TVector3& GetCellVector(Int_t i); | |
61 | TVector3& GetGridVector(Int_t i); | |
62 | // 13-apr-2003 | |
63 | Double_t GetSumInCone(TVector3 &jet, Int_t nc, Float_t *et,Float_t *eta,Float_t *phi, Double_t cellEtCut, Double_t rJet); | |
64 | Double_t GetEmcalEtInCone(TVector3 &jet, Double_t cellEtCut=0.0, Double_t rJet=0.5); | |
65 | Double_t GetTpcPtInCone(TVector3 &jet, Double_t cellEtCut=0.0, Double_t rJet=0.5); | |
66 | Double_t GetSum(Int_t n, Float_t *ar, Double_t cut=0.0); | |
2f2f4d2b | 67 | Double_t GetSumEmcal(Double_t cut=0.0) {return GetSum(fncell, fetcell, cut);} |
68 | Double_t GetSumTpc(Double_t cut=0.0) {return GetSum(fnchp, fppt, cut);} | |
e8f1e037 | 69 | |
70 | void SetDebug(Int_t flag) {fDebug = flag;} | |
71 | Float_t GetDebug() const {return fDebug;} | |
72 | ||
73 | TTree* GetTree() {return fTree;} | |
74 | TFile* GetFile() {return fFile;} | |
75 | void Close(); | |
76 | ||
6ec7dfce | 77 | Bool_t IsPythiaDst(); |
e8f1e037 | 78 | virtual Bool_t IsFolder() const; |
79 | virtual void Browse(TBrowser* b); | |
80 | ||
81 | static TList *MoveHistsToList(char* name="List of Hist", Bool_t putToBrowser=kTRUE); | |
2f2f4d2b | 82 | private: |
83 | ||
84 | Float_t fpphi[20000]; //[nchp] | |
85 | Int_t fDebug; // debug flag | |
86 | TFile* fFile; // filename | |
87 | TTree* fTree; // Tree pointer | |
88 | TString fName; // name | |
89 | TList* fListHist; //! | |
90 | TString fFileName; // for convenience | |
91 | ||
92 | Float_t fdecone; //! for EMCAL | |
93 | Float_t fptcone; //! for ch.particles | |
94 | // For partons after hard scattering | |
95 | Int_t fnpart; //npartons | |
96 | Float_t fxpt[4]; //[npart] | |
97 | Float_t fxeta[4]; //[npart] | |
98 | Float_t fxphi[4]; //[npart] | |
99 | // Jet | |
100 | Int_t fnjet; // number of jets | |
101 | Float_t fjet[10]; //[njet] | |
102 | Float_t fjetal[10]; //[njet] | |
103 | Float_t fjphil[10]; //[njet] | |
104 | Float_t fjetaw[10]; //[njet] | |
105 | Float_t fjphiw[10]; //[njet] | |
106 | // Charge particle in jet ?? | |
107 | // eT in EMCAL itself - 24-jan-2003 | |
108 | Int_t fncell; // 96*144 =13824 | |
109 | Int_t fidcell[13824]; //[ncell] | |
110 | Float_t fetcell[13824]; //[ncell] : de = det*sf | |
111 | // eT in EMCAL grid for jet finder | |
112 | Int_t fngrid; // 96*144 =13824 | |
113 | Int_t fidgrid[13824]; //[ngrid] | |
114 | Float_t fetgrid[13824]; //[ngrid] | |
115 | // charge particle which hit to EMCAL - 28-jan-2003 | |
116 | Int_t fnchp; //number of charged particles | |
117 | Int_t fpid[20000]; //[nchp] | |
118 | Float_t fppt[20000]; //[nchp] | |
119 | Float_t fpeta[20000]; //[nchp] | |
120 | TH1F* hPtPart; //hist | |
121 | TH1F* hNJet; //hist | |
122 | TH1F* hPtJet; //hist | |
123 | TH2F* hEtaPhiPart; //hist | |
124 | TH2F* hEtaPhiJet; //hist | |
125 | TH1F* hNcell; //hist | |
126 | TH1F* hCellId; //hist | |
127 | TH1F* hCellEt; //hist | |
128 | ||
129 | TH1F* hSumEt; //hist | |
130 | TH1F* hNgrid; //hist | |
131 | TH1F* hGridId; //hist | |
132 | TH1F* hGridEt; //hist | |
133 | TH1F* hSumEtGrForJF; //hist | |
134 | ||
e8f1e037 | 135 | |
2f2f4d2b | 136 | ClassDef(AliEMCALJetMicroDst,2) // Micro Dst for jet analysis |
e8f1e037 | 137 | }; |
138 | ||
139 | #endif // AliEMCALJETMICRODST_H | |
6ec7dfce | 140 | /* |
141 | What to do | |
142 | 1. Common info about event | |
143 | */ |