17 #include "StEpdHitMaker.h"
19 #include "StEventTypes.h"
20 #include "StEvent/StTriggerData.h"
23 #include "StEvent/StEpdCollection.h"
24 #include "StEpdDbMaker/StEpdDbMaker.h"
37 mEventCounter(0), mTriggerEventCounter(0), mEpdCollection(0), mTriggerData(0), mEpdDbMaker(0), mStEvent(0) {
38 LOG_DEBUG <<
"StEpdHitMaker::ctor" << endm;
49 mTriggerEventCounter++;
52 LOG_ERROR <<
"StEpdHitMaker::Make - no TriggerData object" << endm;
57 LOG_ERROR <<
"StEpdHitMaker::Make - no EpdDbMaker object" << endm;
62 LOG_ERROR <<
"StEpdHitMaker::Make - no EpdCollection object" << endm;
74 if (!dbMaker) LOG_WARN <<
"No StEpdDbMaker found by StEpdHitMaker::GetEpdDbMaker" << endm;
86 mStEvent =
dynamic_cast<StEvent *
> (GetInputDS(
"StEvent"));
88 trg = mStEvent->triggerData();
90 else {LOG_WARN <<
"No StEvent found by StEpdHitMaker::GetTriggerData" << endm;}
98 mStEvent =
dynamic_cast<StEvent *
> (GetInputDS(
"StEvent"));
100 epdCollection = mStEvent->epdCollection();
103 LOG_INFO <<
"StEpdHitMaker::GetEpdCollection - making new StEpdCollection and giving it to StEvent" << endm;
105 mStEvent->setEpdCollection(epdCollection);
108 LOG_INFO <<
"StEpdHitMaker::GetEpdCollection - StEvent already has a StEpdCollection - not making a new one" << endm;
112 LOG_WARN <<
"No StEvent found by StEpdHitMaker::GetEpdCollection" << endm;
115 return epdCollection;
118 void StEpdHitMaker::FillStEpdData(){
140 for (
short ew=0; ew<2; ew++){
141 for (
short PP=1; PP<13; PP++){
142 for (
short TT=1;
TT<32;
TT++){
144 short crateAdc = mEpdDbMaker->GetCrateAdc(ew,PP,
TT);
146 short EWforHit=(ew==0)?-1:+1;
174 short boardAdc = mEpdDbMaker->GetBoardAdc(ew,PP,
TT);
175 short channelAdc = mEpdDbMaker->GetChannelAdc(ew,PP,
TT);
176 int ADC = trg->epdADC(crateAdc,boardAdc,channelAdc,PrePost);
179 int TDC = trg->epdTDC(crateAdc,boardAdc,channelAdc,PrePost);
184 bool HasTac = (mEpdDbMaker->GetChannelTac(ew,PP,
TT)>=0);
187 TAC = trg->epdADC(mEpdDbMaker->GetCrateTac(ew,PP,
TT),
188 mEpdDbMaker->GetBoardTac(ew,PP,
TT),
189 mEpdDbMaker->GetChannelTac(ew,PP,
TT),
194 double gain = mEpdDbMaker->GetMip(ew,PP,
TT);
195 if (gain<=0.0) gain = 1.0;
197 float nMIP = (ADC + mEpdDbMaker->GetOffset(ew,PP,
TT)) / mEpdDbMaker->GetMip(ew,PP,
TT);
212 mEpdCollection->addHit(hit);
223 LOG_INFO <<
"StEpdHitMaker::FillStEpdData - added " << nHitsAdded <<
" to StEpdHitCollection" << endm;
StEpdDbMaker * GetEpdDbMaker()
Returns a pointer to the StEpdDbMaker.
virtual int Init()
Init does nothing right now.
StEpdCollection * GetEpdCollection()
Returns the collection of StEpdHits in the event.
virtual int Finish()
Finish does nothing right now.
StTriggerData * GetTriggerData()
Returns a pointer to the StTriggerData object.
Stores information for tiles in STAR Event Plane Detector.