StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StRFEmcTrigMaker.h
1 // *-- Author : Renee Fatemi
2 //
3 // $Id: StRFEmcTrigMaker.h,v 1.5 2014/08/06 11:43:02 jeromel Exp $
4 
5 
6 #ifndef STAR_StRFEmcTrigMaker
7 #define STAR_StRFEmcTrigMaker
8 
18 #ifndef StMaker_H
19 #include "StMaker.h"
20 #include "TrigDims.h"
21 #endif
22 
23 
24 class TH1F;
25 class StMuDst;
26 class StMuEmcCollection;
27 class StEmcGeom;
28 class StEvent;
29 class StMuEvent;
31 class StEmcCollection;
32 
33 class StRFEmcTrigMaker : public StMaker {
34 
35  private:
36  StEmcGeom *emcGeom;
37  StMuEvent *muEvent;
38  StEvent *stEvent;
39  StEmcCollection *stEmcCol;
40  StMuEmcCollection *muEmcCol;
41  StBbcTriggerDetector *bbcCol;
42 
43  int DataMode;//0 for MuDst, 1 for StEvent
44  int det;//detector number =1 for BTOW
45  int Bmod;//BEMC module from 1-120
46  int Bsub;//BEMC submodule 1- 2
47  int Beta;//BEMC tower 1-20
48  int BTowADC;//BEMC tower ADC
49  int NumETow;//#Endcap towers
50  int Esec;//EEMC sector 1-12
51  int Esub;//EEMC subsector 1-5
52  int Eeta;//EEMC eta bin 1-12
53  int ETowADC;//EEMC Tower ADC
54  int bbcTrig;//1 if true, 0 if false
55  int BBCadc[BBCadcNum];
56 
57  int BHTmaxt; //Hold HT for whole Barrel
58  int BJPmaxt; //Holds max JP sum for whole Barrel
59  int BJPsumt; //Holds sum of all JP in Barrel
60  int EHTmaxt; //Hold HT for whole EEMC
61  int EJPmaxt; //Holds max JP sum for whole EEMC
62  int EJPsumt; //Holds sum of all JP in EEMC
63 
64  int jpBsum[BemcJP];//Barrel -Holds jet patch energy sum
65  int jpBmax[BemcJP];//Holds jet patch HT max
66  int jpB_hit_num[BemcJP];//Holds number of hits per JP
67  int tpBsum[BemcTP];// Holds Trigger Patch energy sum
68  int tpBmax[BemcTP];// Holds Trigger Patch HT
69 
70  int jpEsum[EemcJP];//Endcap -Holds jet patch energy sum
71  int jpEmax[EemcJP];//Holds jet patch HT max
72  int jpE_hit_num[EemcJP];//Holds number of hits per JP
73  int tpEsum[EemcTP];// Holds Trigger Patch energy sum
74  int tpEmax[EemcTP];// Holds Trigger Patch HT
75 
76  TH1F *ha[8];
77  void initHisto();
78  void fillHisto();
79 
80  void Sum(int *,int *);
81  void Max(int *,int *);
82  void unpackEmcFromMu();
83  void unpackEmcFromSt();
84  void unpackBBC();
85 
86  bool activeBBC;
87 
88  protected:
89 
90  public:
91  StRFEmcTrigMaker(const char *name="RFTrig");
92  virtual ~StRFEmcTrigMaker();
93  virtual Int_t Init();
94  virtual Int_t Make();
95  virtual void Clear(const char *opt=0);
96 
97  void useMuDst() { DataMode=0;}
98  void useStEvent() { DataMode=1;}
99  Int_t getBBCtrig();
100  Int_t getBEMCtrigHT(int);
101  Int_t getBEMCtrigJP(int);
102  Int_t getBEMCtrigTOT(int);
103  Int_t getEEMCtrigHT(int);
104  Int_t getEEMCtrigJP(int);
105  Int_t getEEMCtrigTOT(int);
106  Int_t getBEMC_HT_ADC();
107  Int_t getBEMC_JP_ADC();
108  Int_t getBEMC_TOT_ADC();
109  Int_t getEEMC_HT_ADC();
110  Int_t getEEMC_JP_ADC();
111  Int_t getEEMC_TOT_ADC();
112 
113  void requireBBC(){ activeBBC=true;}
114 
115  virtual const char *GetCVS() const {
116  static const char cvs[]="Tag $Name: $ $Id: StRFEmcTrigMaker.h,v 1.5 2014/08/06 11:43:02 jeromel Exp $ built " __DATE__ " " __TIME__ ;
117  return cvs;
118  }
119 
120  ClassDef(StRFEmcTrigMaker, 1) //StAF chain virtual base class for Makers
121 };
122 
123 #endif
124 
125 
126 // $Log: StRFEmcTrigMaker.h,v $
127 // Revision 1.5 2014/08/06 11:43:02 jeromel
128 // Suffix on literals need to be space (later gcc compiler makes it an error) - first wave of fixes
129 //
130 // Revision 1.4 2004/08/18 19:52:49 balewski
131 // works for BBC
132 //
133 // Revision 1.3 2004/08/18 14:56:35 balewski
134 // trying to get BBC working
135 //
136 // Revision 1.2 2004/08/17 00:13:53 rfatemi
137 // Update to include BEMC in StEvent trigger
138 //
virtual Int_t Make()