]>
Commit | Line | Data |
---|---|---|
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> | |
d7c6ab14 | 15 | #include <TString.h> |
301a24f1 | 16 | |
d7c6ab14 | 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 | |
3bf434de | 32 | void Clear(Option_t *option="") {TObject::Clear(option);Reset();} |
d7c6ab14 | 33 | |
34 | //adds particle to the event | |
35 | void AddParticle(AliJetParticle* p); | |
36 | void AddParticle(const AliJetParticle* p); | |
301a24f1 | 37 | void AddParticle(const TParticle* part,Int_t idx=-1, Int_t l=0, Int_t ncl=0); |
38 | void AddParticle(Float_t px, Float_t py, Float_t pz, Float_t etot, Int_t idx=-1, Int_t l=0, Int_t ncl=0); | |
39 | void AddParticle(Float_t px, Float_t py, Float_t pz, Float_t etot, Int_t idx, Int_t l, Int_t ncl, | |
d7c6ab14 | 40 | Float_t pt, Float_t phi, Float_t eta); |
41 | ||
301a24f1 | 42 | void AddSignal(const AliJetEventParticles& source); |
43 | ||
44 | const AliJetParticle* GetParticle(Int_t n) const //gets particle without boundary check | |
d7c6ab14 | 45 | {return (const AliJetParticle*)fParticles->At(n);} |
46 | const AliJetParticle* GetParticleSafely(Int_t n); | |
47 | Int_t GetNParticles() const {return fNParticles;} | |
48 | const TClonesArray* GetParticles() const {return fParticles;} | |
49 | Float_t GetVertexX() const {return fVertexX;} | |
50 | Float_t GetVertexY() const {return fVertexY;} | |
51 | Float_t GetVertexZ() const {return fVertexZ;} | |
52 | ||
04a02430 | 53 | Int_t Trials() const {return fTrials;} |
54 | Int_t NTriggerJets() const {return fNJets;} | |
55 | Int_t NUQTriggerJets() const {return fNUQJets;} | |
56 | void TriggerJet(Int_t i, Float_t p[4]) const; | |
57 | void UQJet(Int_t i, Float_t p[4]) const; | |
9e431626 | 58 | void TriggerJet(Int_t i, Float_t &p1, Float_t &p2, Float_t &p3, Float_t &E) const; |
59 | void UQJet(Int_t i, Float_t &p1, Float_t &p2, Float_t &p3, Float_t &E) const; | |
60 | void Hard(Int_t i, Float_t &p1, Float_t &p2, Float_t &p3, Float_t &E, Float_t &type) const; | |
3bf434de | 61 | void Hard(Int_t i, Float_t p[4], Float_t &type) const; |
04a02430 | 62 | Double_t GetXJet() const {return fXJet;} |
63 | Double_t GetYJet() const {return fYJet;} | |
64 | void GetZQuench(Double_t z[4]) const; | |
65 | TString getHeader() const {return fHeader;} | |
66 | ||
3bf434de | 67 | Float_t GetImpact() const {return fImpact;} |
68 | Int_t GetNhard() const {return fNHardScatters;} | |
69 | Int_t GetNpart() const {return fNwNwColl;} | |
70 | ||
04a02430 | 71 | void SetXYJet(Double_t x, Double_t y); |
72 | void SetZQuench(Double_t z[4]); | |
73 | void SetTrials(Int_t trials) {fTrials = trials;} | |
74 | void AddJet(Float_t px, Float_t py, Float_t pz, Float_t e); | |
75 | void AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e); | |
76 | void AddJet(Float_t p[4]); | |
77 | void AddUQJet(Float_t p[4]); | |
9e431626 | 78 | void AddHard(Int_t i,Float_t px, Float_t py, Float_t pz, Float_t e, Float_t type); |
04a02430 | 79 | |
3bf434de | 80 | void SetImpact(Float_t b){fImpact=b;} |
81 | void SetNhard(Int_t n){fNHardScatters=n;} | |
82 | void SetNpart(Int_t n){fNwNwColl=n;} | |
83 | ||
84 | void Print(Option_t *t="") const; | |
d7c6ab14 | 85 | |
86 | protected: | |
87 | TString fHeader; // event description | |
88 | Int_t fNParticles; // number of particles read | |
89 | TClonesArray *fParticles; //-> particles in event | |
90 | ||
04a02430 | 91 | Float_t fVertexX; // vertex x |
92 | Float_t fVertexY; // vertex y | |
93 | Float_t fVertexZ; // vertex z | |
94 | ||
95 | Int_t fTrials; // Number of trials to fulfill trigger condition | |
96 | Int_t fNJets; // Number of triggered jets | |
97 | Int_t fNUQJets; // Number of unquenched | |
98 | Double_t fXJet; // Jet production point (x) | |
99 | Double_t fYJet; // Jet production point (y) | |
100 | Float_t fJets[4][10]; // Trigger jets | |
101 | Float_t fUQJets[4][10]; // Unquenched trigger jets | |
9e431626 | 102 | Float_t fHard[5][2]; // Hard partons |
04a02430 | 103 | Double_t fZquench[4]; // Quenching fraction |
d7c6ab14 | 104 | |
3bf434de | 105 | Float_t fImpact; // impact parameter |
106 | Int_t fNHardScatters; // number of hard scatterings | |
107 | Int_t fNwNwColl; // number of Nwounded-Nwounded collisions | |
108 | ||
109 | ClassDef(AliJetEventParticles,5) //class AliJetEventParticles | |
d7c6ab14 | 110 | }; |
111 | #endif |