3 /****************************************************************************
5 * Test version of jet-trigger, includes many analysis functions to tune *
7 * Thorsten Kollegger <kollegge@ikf.physik.uni-frankfurt.de> *
8 ***************************************************************************/
10 #ifndef TKJETTRIGGER_H
11 #define TKJETTRIGGER_H
13 #include <Riostream.h>
15 #include <TParticle.h>
16 #include "AliTkJetTriggerEvent.h"
18 class AliTkJetTrigger : public TObject {
20 AliTkJetTrigger() : TObject() {
24 virtual ~AliTkJetTrigger(){if(mEvOutName) delete[] mEvOutName;}
28 void initEvent(TClonesArray *particles, Int_t type);
29 void initEvent(TClonesArray *particles);
31 void run() { make(); }
36 void setEvOutFilename(Char_t *filename);
37 Char_t *getEvOutFilename() { return mEvOutName; }
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);
45 void mixParticles(TClonesArray *particles, Int_t type);
47 void setParticleMinPt(Float_t f){fParticleMinPt=f;}
48 void setParticleMinPtSeed(Float_t f){fParticleMinPtSeed=f;}
50 void setExpectedParticleNumber(UInt_t n) {mExpectedNParticles = n; }
51 UInt_t getExpectedParticleNumber() { return mExpectedNParticles; }
55 void createSeedPoints();
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);
64 void clearParticles();
66 list<TParticle*> *getParticlesInCone(AliTkEtaPhiVector center, Float_t radius);
67 list<TParticle*> *getParticlesInCone(AliTkEtaPhiVector center,
69 TClonesArray *particles);
70 Bool_t decide(list<TParticle*> *particles, Float_t ptThreshold,
74 TClonesArray *mParticles;
75 UInt_t mExpectedNParticles;
77 list<AliTkEtaPhiVector> seedPoints;
78 list<Float_t> mConeRadia;
79 list<UInt_t> mConeNParticles;
80 list<Float_t> mConePtThreshold;
82 Char_t *mEvOutName; //!
83 TFile *mEvOutFile; //!
84 TTree *mEvOutTree; //!
85 AliTkJetTriggerEvent *mEvOutEvent; //!
86 TObjArray *mDecisions;
88 Float_t fParticleMinPt;
89 Float_t fParticleMinPtSeed;
91 ClassDef(AliTkJetTrigger,0)