StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StTrack2FastDetectorMatcher.h
1 
7 #include "TObject.h"
8 #include "StPhysicalHelixD.hh" // dongx
10 class VertexData;
11 class TGraphErrors;
12 class StEEmcDb;
13 class StEvent;
14 class EEmcGeomSimple;
15 class StBTofGeometry; // dongx
16 #include "StPhiEtaHitList.h"
18  StiTrack2FastDetector() {btofBin = ctbBin = bemcBin = eemcBin = -1; anyMatch=anyVeto=kFALSE; mBtof=mCtb=mBemc=mEemc=mTpc=0; weight = 1;}
19  // 3-stat logic: 1=match, -1=veto, 0=dunno
20  Int_t mBtof,mCtb,mBemc,mEemc,mTpc;
21  Bool_t anyMatch,anyVeto;
22  Float_t weight; // compound from all maching tests
23  Int_t btofBin; // >=0 if track passed through BTOF cell
24  Int_t ctbBin; // >=0 if track passed through CTB slat
25  Int_t bemcBin; // >=0 if track passed through BTOW tower
26  Int_t eemcBin; // >=0 if track passed through ETOW tower
27  void updateAnyMatch(Bool_t match, Bool_t veto,Int_t & mXXX) {
28  if(match) {
29  anyMatch=kTRUE;
30  anyVeto=kFALSE;
31  mXXX=1;
32  // } else if(veto && (!anyMatch) ) {
33  } else if(veto && (!match) ) { // dongx
34  anyVeto=kTRUE;
35  mXXX=-1;
36  } else {
37  mXXX=0;
38  }
39  }
40 };
41 
42 class StTrack2FastDetectorMatcher: public TObject {
43  public:
45  virtual ~StTrack2FastDetectorMatcher();
46  void fillArrays(StEvent *);
47  void matchTrack2BTOF(const StPhysicalHelixD* hlx, StiTrack2FastDetector *t); // dongx
48  void matchTrack2CTB(const StPhysicalHelixD* hlx, StiTrack2FastDetector *t);
49  void matchTrack2EEMC(const StPhysicalHelixD* hlx, StiTrack2FastDetector *t, Float_t z);
50  void matchTrack2BEMC(const StPhysicalHelixD* hlx, StiTrack2FastDetector *t, Float_t rxy);
51  void matchTrack2FastDetectors(const StPhysicalHelixD *hlx,StiTrack2FastDetector *t);
52  virtual void Clear(const Char_t *opt="");
53  enum {kSwitchOneHighPT=1};
54  private:
55  Int_t mTotEve;
56  Int_t eveID;
57  // params
58  Float_t mMinZBtof; // BTOF local z min cut - dongx
59  Float_t mMaxZBtof; // BTOF local z max cut - dongx
60  Float_t mMinAdcBemc; // BEMC towers with MIP response
61  Float_t mMinAdcEemc; // EEMC towers with MIP response
62  Bool_t isMC;
63  // util
64  StBtofHitList *btofList; // dongx
65  StCtbHitList *ctbList;
66  StBemcHitList *bemcList;
67  StEemcHitList *eemcList;
68  StBTofGeometry *btofGeom; // dongx btofGeometry
69  StEEmcDb *eeDb;
70  EEmcGeomSimple *geomE;
71  ClassDef(StTrack2FastDetectorMatcher,0)
72 };
73 
74 /***************************************************************************
75  *
76  * $Log: StTrack2FastDetectorMatcher.h,v $
77  * Revision 2.3 2013/01/18 15:03:37 fisyak
78  * Fix TrackData data name clash with StiPPVertexFinder
79  *
80  * Revision 2.2 2013/01/17 15:57:26 fisyak
81  * Add handles for debugging
82  *
83  * Revision 2.1 2012/05/07 14:56:14 fisyak
84  * Add StKFVertexMaker
85  *
86  **************************************************************************/
87 
EEMC simple geometry.