]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/jetan2004/AliTkJetTrigger.h
SetInput call corrected for generated jets.
[u/mrichter/AliRoot.git] / JETAN / jetan2004 / AliTkJetTrigger.h
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