]>
Commit | Line | Data |
---|---|---|
b9a6a391 | 1 | // $Id$ |
2 | ||
3 | /**************************************************************************** | |
4 | * AliTkJetTrigger.h * | |
5 | * Test version of jet-trigger, includes many analysis functions to tune * | |
6 | * paramters * | |
7 | * Thorsten Kollegger <kollegge@ikf.physik.uni-frankfurt.de> * | |
8 | ***************************************************************************/ | |
9 | ||
10 | #ifndef TKJETTRIGGER_H | |
11 | #define TKJETTRIGGER_H | |
12 | ||
13 | #include <Riostream.h> | |
14 | #include <list> | |
15 | #include <TParticle.h> | |
16 | #include "AliTkJetTriggerEvent.h" | |
17 | ||
18 | class AliTkJetTrigger : public TObject { | |
19 | public: | |
20 | AliTkJetTrigger() : TObject() { | |
21 | mEvOutName=0; | |
22 | setDefaults(); | |
23 | } | |
24 | virtual ~AliTkJetTrigger(){if(mEvOutName) delete[] mEvOutName;} | |
25 | ||
26 | void init(); | |
27 | void initEvent(); | |
28 | void initEvent(TClonesArray *particles, Int_t type); | |
29 | void initEvent(TClonesArray *particles); | |
30 | void make(); | |
31 | void run() { make(); } | |
32 | void finishEvent(); | |
33 | void finish(); | |
34 | ||
35 | void setDefaults(); | |
36 | void setEvOutFilename(Char_t *filename); | |
37 | Char_t *getEvOutFilename() { return mEvOutName; } | |
38 | ||
39 | void setParticleType(Int_t type); | |
40 | Int_t getParticleType() { return mParticleType; } | |
41 | void addConeRadius(Float_t radius); | |
42 | void addConeNParticles(UInt_t nParticles); | |
43 | void addConePtThreshold(Float_t ptThreshold); | |
44 | ||
45 | void mixParticles(TClonesArray *particles, Int_t type); | |
46 | ||
47 | void setParticleMinPt(Float_t f){fParticleMinPt=f;} | |
48 | void setParticleMinPtSeed(Float_t f){fParticleMinPtSeed=f;} | |
49 | ||
50 | void setExpectedParticleNumber(UInt_t n) {mExpectedNParticles = n; } | |
51 | UInt_t getExpectedParticleNumber() { return mExpectedNParticles; } | |
52 | ||
53 | private: | |
54 | ||
55 | void createSeedPoints(); | |
56 | ||
57 | Bool_t isParticleAccepted(TParticle *particle); | |
58 | Bool_t isParticleAccepted(TParticle *particle, Int_t type); | |
59 | Bool_t isParticleAcceptedPythia(TParticle *particle); | |
60 | Bool_t isParticleAcceptedPythiaAliceGeo(TParticle *particle); | |
61 | Bool_t isParticleAcceptedHijing(TParticle *particle); | |
62 | Bool_t isParticleAcceptedHijingAliceGeo(TParticle *particle); | |
63 | ||
64 | void clearParticles(); | |
65 | ||
66 | list<TParticle*> *getParticlesInCone(AliTkEtaPhiVector center, Float_t radius); | |
67 | list<TParticle*> *getParticlesInCone(AliTkEtaPhiVector center, | |
68 | Float_t radius, | |
69 | TClonesArray *particles); | |
70 | Bool_t decide(list<TParticle*> *particles, Float_t ptThreshold, | |
71 | UInt_t nParticles); | |
72 | ||
73 | Int_t mParticleType; | |
74 | TClonesArray *mParticles; | |
75 | UInt_t mExpectedNParticles; | |
76 | ||
77 | list<AliTkEtaPhiVector> seedPoints; | |
78 | list<Float_t> mConeRadia; | |
79 | list<UInt_t> mConeNParticles; | |
80 | list<Float_t> mConePtThreshold; | |
81 | ||
82 | Char_t *mEvOutName; //! | |
83 | TFile *mEvOutFile; //! | |
84 | TTree *mEvOutTree; //! | |
85 | AliTkJetTriggerEvent *mEvOutEvent; //! | |
86 | TObjArray *mDecisions; | |
87 | ||
88 | Float_t fParticleMinPt; | |
89 | Float_t fParticleMinPtSeed; | |
90 | ||
91 | ClassDef(AliTkJetTrigger,0) | |
92 | }; | |
93 | ||
94 | ||
95 | #endif |