10 #include "StMuDSTMaker/COMMON/StMuTypes.hh"
16 #include "StTriggerData2009.h"
32 LOG_INFO <<
"StFmsHitMaker initializing...."<<endm;
33 LOG_DEBUG <<
"StFmsHitMaker::constructor." << endm;
38 LOG_INFO <<
"StFmsHitMaker::destructor." << endm;
42 LOG_DEBUG <<
"StFmsHitMaker::Clear()" << endm;
43 StMaker::Clear(option);
48 LOG_INFO<<
"StFmsHitMaker::Init() "<<endm;
50 return StMaker::Init();
56 LOG_INFO <<
"StFmsHitMaker::InitRun --run# changed to " << runNumber << endm;
66 LOG_DEBUG<<
"StFmsHitMaker::Make start"<<endm;
68 StTriggerData* triggerData = 0;
71 TObjectSet *os = (TObjectSet*)GetDataSet(
"StTriggerData");
73 triggerData = (StTriggerData*)os->GetObject();
77 LOG_DEBUG<<
"StFmsHitMaker::Make Found StTriggerData from StTriggerDataMaker"<<endm;
83 StEvent* stEvent = (StEvent*) GetInputDS(
"StEvent");
87 triggerData = stEvent->triggerData();
90 LOG_DEBUG<<
"StFmsHitMaker::Make Found StTriggerData from StEvent"<<endm;
96 LOG_DEBUG<<
"StFmsHitMaker::Make Found StFmsCollection from StEvent"<<endm;
101 LOG_DEBUG<<
"before checking MuDst, flag is: "<<flag<<endl;
104 StMuDst* muDst = (StMuDst*)GetInputDS(
"MuDst");
108 triggerData = (StTriggerData*)StMuDst::event()->triggerData();
111 LOG_INFO<<
"StFmsHitMaker::Make Found StFmsTriggerData in MuDst"<<endm;
113 else LOG_ERROR <<
"Finally, no StFmsTriggerData in MuDst " <<endm;
118 LOG_DEBUG<<
"after checking MuDst, flag is: "<<flag<<endm;
124 for(
unsigned short crt=1; crt<=4; crt++){
125 for(
unsigned short slot=1; slot<=16; slot++){
126 for(
unsigned short ch=0; ch<32; ch++){
127 unsigned short adc=0;
128 unsigned short tdc=0;
130 adc=triggerData->fmsADC(crt,slot-1,ch);
131 tdc=triggerData->fmsTDC(crt,slot-1,ch);
137 StFmsHit* hit =
new StFmsHit();
139 LOG_ERROR <<
"Failed to create FMS hit, skip this hit."<<endm;
142 hit->setDetectorId(0);
144 hit->setQtCrate(crt);
145 hit->setQtSlot(slot);
146 hit->setQtChannel(ch);
151 if(GetDebug()>0) hit->print();
163 int crt =fmsHit->qtCrate();
164 int slot =fmsHit->qtSlot();
165 int ch =fmsHit->qtChannel();
166 float adc =fmsHit->adc();
174 fmsHit->setDetectorId(d);
175 fmsHit->setChannel(c);
176 fmsHit->setEnergy(e);
177 if(GetDebug()>0) fmsHit->print();
209 LOG_DEBUG<<
"StFmsHitMaker::Make Adding StFmsCollection as FMSCOLLECTION"<<endm;
218 LOG_INFO <<
"StFmsHitMaker::Finish() " << endm;
Int_t InitRun(Int_t runNumber)
void getReverseMap(Int_t qtCrate, Int_t qtSlot, Int_t qtChannel, Int_t *detectorId, Int_t *ch)
StFmsDbMaker * gStFmsDbMaker
StMuFmsCollection * mMuFmsColl
FMS data structure for StEvent.
unsigned int numberOfHits() const
Declaration of StFmsClusterFitter, shower-shape fitting routine.
Float_t getGainCorrection(Int_t detectorId, Int_t ch)
get the gain for the channel
void Clear(Option_t *option="")
Float_t getGain(Int_t detectorId, Int_t ch)
Int_t mCurrentRunNumber
FMS data structure for StMuEvent.
StFmsDbMaker * mFmsDbMaker
StFmsCollection * mFmsCollection
DB maker provides FMS geometry and calibration data.
StFmsHitMaker(const char *name="StFmsHitMaker")