d7c6ab14 |
1 | #ifndef ALIJETEVENTPARTICLES_H |
2 | #define ALIJETEVENTPARTICLES_H |
3 | |
4 | /* $Id$ */ |
5 | |
6 | /////////////////////////////////////////////////////////////////// |
7 | // |
8 | // class AliJetEventParticles |
9 | // |
10 | // loizides@ikf.uni-frankfurt.de |
11 | // |
12 | /////////////////////////////////////////////////////////////////// |
13 | |
14 | #include <TObject.h> |
9e431626 |
15 | //#include <TObjString.h> |
d7c6ab14 |
16 | #include <TString.h> |
17 | class TParticle; |
9e431626 |
18 | class TClonesArray; |
d7c6ab14 |
19 | class AliJetParticle; |
20 | |
21 | class AliJetEventParticles: public TObject |
22 | { |
23 | public: |
24 | AliJetEventParticles(Int_t size=1000); |
25 | AliJetEventParticles(const AliJetEventParticles& source); |
26 | virtual ~AliJetEventParticles(); |
27 | |
28 | void SetVertex(Float_t v[3]){fVertexX=v[0];fVertexY=v[1];fVertexZ=v[2];} |
29 | void SetVertex(Float_t v1,Float_t v2, Float_t v3){fVertexX=v1;fVertexY=v2;fVertexZ=v3;} |
30 | void SetHeader(TString& s){fHeader=s;} |
31 | void Reset(Int_t size=-1); //deletes all entries |
32 | |
33 | //adds particle to the event |
34 | void AddParticle(AliJetParticle* p); |
35 | void AddParticle(const AliJetParticle* p); |
36 | void AddParticle(const TParticle* part,Int_t idx=-1, Int_t l=0); |
37 | void AddParticle(Float_t px, Float_t py, Float_t pz, Float_t etot, Int_t idx=-1, Int_t l=0); |
38 | void AddParticle(Float_t px, Float_t py, Float_t pz, Float_t etot, Int_t idx, Int_t l, |
39 | Float_t pt, Float_t phi, Float_t eta); |
40 | |
41 | const AliJetParticle* GetParticle(Int_t n) //gets particle without boundary check |
42 | {return (const AliJetParticle*)fParticles->At(n);} |
43 | const AliJetParticle* GetParticleSafely(Int_t n); |
44 | Int_t GetNParticles() const {return fNParticles;} |
45 | const TClonesArray* GetParticles() const {return fParticles;} |
46 | Float_t GetVertexX() const {return fVertexX;} |
47 | Float_t GetVertexY() const {return fVertexY;} |
48 | Float_t GetVertexZ() const {return fVertexZ;} |
49 | |
04a02430 |
50 | Int_t Trials() const {return fTrials;} |
51 | Int_t NTriggerJets() const {return fNJets;} |
52 | Int_t NUQTriggerJets() const {return fNUQJets;} |
53 | void TriggerJet(Int_t i, Float_t p[4]) const; |
54 | void UQJet(Int_t i, Float_t p[4]) const; |
9e431626 |
55 | void TriggerJet(Int_t i, Float_t &p1, Float_t &p2, Float_t &p3, Float_t &E) const; |
56 | void UQJet(Int_t i, Float_t &p1, Float_t &p2, Float_t &p3, Float_t &E) const; |
57 | void Hard(Int_t i, Float_t &p1, Float_t &p2, Float_t &p3, Float_t &E, Float_t &type) const; |
04a02430 |
58 | Double_t GetXJet() const {return fXJet;} |
59 | Double_t GetYJet() const {return fYJet;} |
60 | void GetZQuench(Double_t z[4]) const; |
61 | TString getHeader() const {return fHeader;} |
62 | |
63 | void SetXYJet(Double_t x, Double_t y); |
64 | void SetZQuench(Double_t z[4]); |
65 | void SetTrials(Int_t trials) {fTrials = trials;} |
66 | void AddJet(Float_t px, Float_t py, Float_t pz, Float_t e); |
67 | void AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e); |
68 | void AddJet(Float_t p[4]); |
69 | void AddUQJet(Float_t p[4]); |
9e431626 |
70 | void AddHard(Int_t i,Float_t px, Float_t py, Float_t pz, Float_t e, Float_t type); |
04a02430 |
71 | |
d7c6ab14 |
72 | void Print(Option_t *t="") const; |
73 | |
74 | protected: |
75 | TString fHeader; // event description |
76 | Int_t fNParticles; // number of particles read |
77 | TClonesArray *fParticles; //-> particles in event |
78 | |
04a02430 |
79 | Float_t fVertexX; // vertex x |
80 | Float_t fVertexY; // vertex y |
81 | Float_t fVertexZ; // vertex z |
82 | |
83 | Int_t fTrials; // Number of trials to fulfill trigger condition |
84 | Int_t fNJets; // Number of triggered jets |
85 | Int_t fNUQJets; // Number of unquenched |
86 | Double_t fXJet; // Jet production point (x) |
87 | Double_t fYJet; // Jet production point (y) |
88 | Float_t fJets[4][10]; // Trigger jets |
89 | Float_t fUQJets[4][10]; // Unquenched trigger jets |
9e431626 |
90 | Float_t fHard[5][2]; // Hard partons |
04a02430 |
91 | Double_t fZquench[4]; // Quenching fraction |
d7c6ab14 |
92 | |
9e431626 |
93 | ClassDef(AliJetEventParticles,4) //class AliJetEventParticles |
d7c6ab14 |
94 | }; |
95 | #endif |