143 static Int_t lEDEBUGcounter=0;
144 cout <<
"EDEBUG-- BmnZdcDigiProducer::Exec() started... " << endl;;
147 if ( ! fDigiArray ) Fatal(
"Exec",
"No DigiArray");
154 Fatal(
"BmnZdcDigiProducer::Exec",
"No DigiScheme");
156 Int_t module_groupID, modID, chanID;
161 map<BmnZdcDigiId_t, Float_t> fDigiIdEnergy;
162 fDigiIdEnergy.clear();
163 map<BmnZdcDigiId_t, Float_t>::const_iterator p;
165 Int_t nPoints = fPointArray->GetEntriesFast();
171 TH2F* hist1=fHistZdcEn;
175 for (Int_t iPoint=0; iPoint<nPoints; iPoint++) {
182 if ((digiID[0]!=-1)&&(digiID[1]!=-1)) {
192 if (fDigiIdEnergy.find(digiID)==fDigiIdEnergy.end())
193 fDigiIdEnergy[digiID] = point->GetEnergyLoss();
195 fDigiIdEnergy[digiID] += point->GetEnergyLoss();
197 e1 += point->GetEnergyLoss();
198 hist1->Fill(point->GetX()*10,point->GetY()*10,point->GetEnergyLoss());
200 if (lEDEBUGcounter<20) {
201 cout <<
"EDEBUG-- BmnZdcDigiProducer::Exec: point : "; point->
Print(
"");
209 if (lEDEBUGcounter<100) {
210 cout <<
"EDEBUG-- BmnZdcDigiProducer::Exec: Boundary point? : "; point->
Print(
"");
217 TClonesArray& clref1 = *fELossZdcValue;
218 new(clref1[0]) TParameter<double>(
"ELossZdc",e1);
221 TClonesArray& clref1e = *fELossZdcHisto;
222 new(clref1e[0]) TVectorT<float>(fHistZdcEn->GetSize(),fHistZdcEn->GetArray());
227 for(p=fDigiIdEnergy.begin(); p!=fDigiIdEnergy.end(); ++p) {
229 pDigiScheme->
SplitDigiID((*p).first, module_groupID, modID, chanID);
232 if ((module_groupID!=-1)&&(chanID!=-1)) {
234 AddHit(module_groupID, modID, chanID, eloss);
236 if (lEDEBUGcounter<50) {
237 cout <<
"EDEBUG-- BmnZdcDigiProducer::Exec: "<< module_groupID<<
" " << chanID <<
" " <<
238 (*p).second <<
" " << lEDEBUGcounter << endl;
254 TClonesArray& clref = *fDigiArray;
255 Int_t size = clref.GetEntriesFast();