StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StDijetFilter.h
1 
12 #ifndef STAR_StDijetFilter
13 #define STAR_StDijetFilter
14 
15 #include <vector>
16 #include <string>
17 #include "StarGenerator/FILT/StarFilterMaker.h"
18 #include "StarGenerator/EVENT/StarGenEvent.h"
19 
20 class StarGenParticleMaster;
21 class StarGenParticle;
22 class StarGenEvent;
23 
25 {
26 
27  private:
28  float px;
29  float py;
30  float pz;
31  float en;
32  int code;
33 
34  public:
35  JetFourVec();
39 
41  bool operator ==(JetFourVec);
42 
43  void setCode(int x){code = x;};
44  void setPx(float x){px = x;}
45  void setPy(float x){py = x;}
46  void setPz(float x){pz = x;}
47  void setEn(float x){en = x;}
48  void setPxPyPzEn(float,float,float,float);
49  void setPtEtaPhiM(float,float,float,float);
50  void setPtEtaPhiE(float,float,float,float);
51 
52  int getCode(){return code;}
53  float getPx(){return px;}
54  float getPy(){return py;}
55  float getPz(){return pz;}
56  float getEn(){return en;}
57 
58  float Pt();
59  float Eta();
60  float Phi();
61  float Theta();
62  float M();
63  float P();
64 };
65 
67 {
68  private:
69 
70  float mRBTOW;
71  float mRcone;
72  float mSeed;
73  float mAssoc;
74  float mSplitfraction;
75  bool mAddmidpoints;
76  bool mStablemidpoints;
77  bool mSplitmerge;
78  float mParticleEtaRange;
79  float mJetEtaHigh;
80  float mJetEtaLow;
81  float mDPhi;
82  float mDEta;
83  float mPtLow;
84  float mPtHigh;
85  float mMinJetPt;
86 
87  float mRecohadron;
88  float mRecolepton;
89  int *nEvents;
90  double mVertex[3];
91 
92  float dR(StarGenParticle*,StarGenParticle*) const;
93  float dR(StarGenParticle*,JetFourVec*) const;
94  float dR(JetFourVec*,StarGenParticle*) const;
95  float dR(JetFourVec*,JetFourVec*) const;
96 
97  JetFourVec* combineTracks(std::vector<JetFourVec*>) const;
98  JetFourVec* recoJet(std::vector<JetFourVec*>, double*) const;
99  std::vector<JetFourVec*> EtOrderedList(std::vector<JetFourVec*>) const;
100  std::vector< std::vector<JetFourVec*> > EtOrderedList(std::vector< std::vector<JetFourVec*> >) const;
101  std::vector< std::vector<JetFourVec*> > RemoveDuplicates(std::vector< std::vector<JetFourVec*> >) const;
102 
103  float overlapEnergy(std::vector<JetFourVec*>,std::vector<JetFourVec*>) const;
104  std::vector< std::vector<JetFourVec*> > doSplitMerge(std::vector< std::vector<JetFourVec*> >) const;
105 
106  std::vector<JetFourVec*> merge(std::vector<JetFourVec*>,std::vector<JetFourVec*>) const;
107  void split(std::vector<JetFourVec*> &v1,std::vector<JetFourVec*> &v2) const;
108 
109  std::vector<JetFourVec*> addMidPoints(std::vector<JetFourVec*>) const;
110 
111  void readConfig();
112 
113  public:
114  StDijetFilter();
115  virtual ~StDijetFilter();
116 
117  Int_t Filter( StarGenEvent *mEvent );
118 
119  void parseConfig(std::string, float);
120 
122 
123 };
124 
125 #endif
float getPz()
getter for py
Definition: StDijetFilter.h:55
virtual ~StDijetFilter()
constructor
float getEn()
getter for pz
Definition: StDijetFilter.h:56
float Eta()
calculate vector pt
float getPx()
getter for pdg code
Definition: StDijetFilter.h:53
Yet another particle class.
JetFourVec()
pdg code of four vector
float M()
calculate vector theta
void setPx(float x)
setter for pdg code
Definition: StDijetFilter.h:44
void setPxPyPzEn(float, float, float, float)
setter for en
void setCode(int x)
equality operator
Definition: StDijetFilter.h:43
JetFourVec operator+(JetFourVec)
destructor
float Theta()
calculate vector phi
float P()
calculate vector mass
Main filter class. Goes anywhere in the chain, filters StarGenEvent objects.
void setPz(float x)
setter for py
Definition: StDijetFilter.h:46
~JetFourVec()
construct from StarGenParticle
Definition: StDijetFilter.h:38
void setPy(float x)
setter for px
Definition: StDijetFilter.h:45
void setPtEtaPhiM(float, float, float, float)
four element setter
bool operator==(JetFourVec)
addition operator
int getCode()
alternative four element setter
Definition: StDijetFilter.h:52
void parseConfig(std::string, float)
float Phi()
calculate vector pseudorapidity
Base class for event records.
Definition: StarGenEvent.h:81
void setPtEtaPhiE(float, float, float, float)
alternative four element setter
void setEn(float x)
setter for pz
Definition: StDijetFilter.h:47
float Pt()
getter for en
float getPy()
getter for px
Definition: StDijetFilter.h:54
ClassDef(StDijetFilter, 1)
change parameters
StDijetFilter()
read a config file to adjust parameters
Int_t Filter(StarGenEvent *mEvent)
destructor