]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/AliJetEventParticles.h
Avoid ghosts.
[u/mrichter/AliRoot.git] / JETAN / AliJetEventParticles.h
CommitLineData
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>
15#include <TClonesArray.h>
16#include <TObjString.h>
17#include <TString.h>
18class TParticle;
19class AliJetParticle;
20
21class 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;
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 Double_t GetXJet() const {return fXJet;}
58 Double_t GetYJet() const {return fYJet;}
59 void GetZQuench(Double_t z[4]) const;
60 TString getHeader() const {return fHeader;}
61
62 void SetXYJet(Double_t x, Double_t y);
63 void SetZQuench(Double_t z[4]);
64 void SetTrials(Int_t trials) {fTrials = trials;}
65 void AddJet(Float_t px, Float_t py, Float_t pz, Float_t e);
66 void AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e);
67 void AddJet(Float_t p[4]);
68 void AddUQJet(Float_t p[4]);
69
d7c6ab14 70 void Print(Option_t *t="") const;
71
72 protected:
73 TString fHeader; // event description
74 Int_t fNParticles; // number of particles read
75 TClonesArray *fParticles; //-> particles in event
76
04a02430 77 Float_t fVertexX; // vertex x
78 Float_t fVertexY; // vertex y
79 Float_t fVertexZ; // vertex z
80
81 Int_t fTrials; // Number of trials to fulfill trigger condition
82 Int_t fNJets; // Number of triggered jets
83 Int_t fNUQJets; // Number of unquenched
84 Double_t fXJet; // Jet production point (x)
85 Double_t fYJet; // Jet production point (y)
86 Float_t fJets[4][10]; // Trigger jets
87 Float_t fUQJets[4][10]; // Unquenched trigger jets
88 Double_t fZquench[4]; // Quenching fraction
d7c6ab14 89
04a02430 90 ClassDef(AliJetEventParticles,2) //class AliJetEventParticles
d7c6ab14 91};
92#endif