54 std::vector<int> listDefaults;
55 listDefaults.push_back(-1);
57 bool fedIsGiven =
false;
59 std::vector<std::string> ebDefaults;
60 ebDefaults.push_back(
"none");
62 bool ebIsGiven =
false;
64 if ( requestedFeds_[0] != -1 ) {
65 edm::LogInfo(
"EcalDigiDisplay") <<
"FED id is given! Goining to beginRun! ";
68 if ( requestedEbs_[0] !=
"none" ) {
71 requestedFeds_.clear();
73 for (std::vector<std::string>::const_iterator ebItr = requestedEbs_.begin();
74 ebItr!= requestedEbs_.end(); ++ebItr) {
80 for (
int i=601;
i<655; ++
i){
81 requestedFeds_.push_back(
i);
92 std::vector<int>::iterator fedIter;
93 std::vector<int>::iterator intIter;
97 for ( fedIter = requestedFeds_.begin(); fedIter!=requestedFeds_.end(); ++fedIter) {
98 if ( (*fedIter) < 601 || (*fedIter) > 655 ) {
99 edm::LogError(
"EcalDigiDisplay") <<
" FED value: " << (*fedIter) <<
" found in requetsedFeds. "
100 <<
" Valid range is 601-654. Returning.";
106 bool barrelSM =
false;
108 for (fedIter = requestedFeds_.begin(); fedIter!=requestedFeds_.end(); ++fedIter) {
109 if ( (*fedIter) > 609 && (*fedIter) < 646 &&
inputIsOk )
116 for (intIter = listChannels.begin(); intIter != listChannels.end(); intIter++) {
117 if ( ((*intIter) < 1) || (1700 < (*intIter)) ) {
118 edm::LogError(
"EcalDigiDisplay") <<
" ic value: " << (*intIter) <<
" found in listChannels. "
119 <<
" Valid range is 1-1700. Returning.";
127 for (intIter = listTowers.begin(); intIter != listTowers.end(); intIter++) {
129 if ( ((*intIter) < 1) || (70 < (*intIter)) ) {
130 edm::LogError(
"EcalDigiDisplay") <<
" TT value: " << (*intIter) <<
" found in listTowers. "
131 <<
" Valid range for EB SM is 1-70. Returning.";
140 for (intIter = listTowers.begin(); intIter != listTowers.end(); intIter++) {
141 if ( (*intIter) > 34 ) {
142 edm::LogError(
"EcalDigiDisplay") <<
" TT value: " << (*intIter) <<
" found in listTowers. "
143 <<
" Valid range for EE DCC is 1-34. Returning.";
162 for (intIter = listPns.begin(); intIter != listPns.end(); intIter++) {
163 if ( ((*intIter) < 1) || (10 < (*intIter)) ) {
164 edm::LogError(
"EcalDigiDisplay") <<
" Pn number : " << (*intIter) <<
" found in listPns. "
165 <<
" Valid range is 1-10. Returning.";
181 edm::LogInfo(
"EcalDigiDisplay") <<
"entering beginRun! ";
199 edm::LogError(
"EcalDigiUnpackerModule") <<
"Can't get DCC Headers!";
203 bool ebDigisFound =
false;
204 bool eeDigisFound =
false;
205 bool pnDigisFound =
false;
210 if ( eb_digis->size() != 0 )
213 edm::LogError(
"EcalDigiUnpackerModule") <<
"EB Digis were not found!";
220 if ( ee_digis->size() != 0 )
223 edm::LogError(
"EcalDigiUnpackerModule") <<
"EE Digis were not found!";
230 if ( pn_digis->size() != 0)
233 edm::LogError(
"EcalDigiUnpackerModule") <<
"PNs were not found!";
244 if ( !(ebDigisFound || eeDigisFound) ) {
245 edm::LogWarning(
"EcalDigiUnpackerModule") <<
"No Digis were found! Returning..";
267 int FEDid = elecId.dccId() + 600;
271 int ic =
EBDetId((*digiItr).id()).ic();
272 int tt =
EBDetId((*digiItr).id()).tower().iTT();
276 edm::LogInfo(
"EcalDigiDisplay") <<
"\n\n^^^^^^^^^^^^^^^^^^ [EcalDigiDisplay] digi cry collection size " << digis->size();
280 }
else if ( Mode==2 ) {
282 std::vector<int>::iterator icIterCh;
283 std::vector<int>::iterator icIterTt;
287 edm::LogInfo(
"EcalDigiDisplay") <<
"\n\n^^^^^^^^^^^^^^^^^^ [EcalDigiDisplay] digi cry collection size " << digis->size();
289 edm::LogInfo(
"EcalDigiDisplay") <<
"[EcalDigiDisplay] parameter mode set to: " << Mode
290 <<
". Only mode 1 and 2 are allowed. Returning...";
294 std::cout <<
"FEDID: " << FEDid << std::endl;
297 <<
EBDetId((*digiItr).id()).ic() <<
" i-phi: "
298 <<
EBDetId((*digiItr).id()).iphi() <<
" j-eta: "
299 <<
EBDetId((*digiItr).id()).ieta() << std::endl;
301 for (
unsigned int i=0;
i< (*digiItr).size() ; ++
i ) {
315 std::cout <<
"For Endcap mode needs to be set to 2" << std::endl;
326 int FEDid = elecId.dccId() + 600;
330 edm::LogInfo(
"EcalDigiDisplay") <<
"\n\n^^^^^^^^^^^^^^^^^^ [EcalDigiDisplay] digi cry collection size " << digis->size();
332 int crystalId = 10000 * FEDid + 100 * elecId.towerId() + 5 * (elecId.stripId()-1)+elecId.xtalId();
333 int chId = elecId.towerId();
335 std::vector<int>::iterator icIterCh;
336 std::vector<int>::iterator icIterTt;
341 std::cout <<
"FEDID: " << FEDid << std::endl;
342 std::cout <<
"Tower: " << elecId.towerId()
344 << crystalId <<
" i-x: "
345 <<
EEDetId((*digiItr).id()).ix() <<
" j-y: "
346 <<
EEDetId((*digiItr).id()).iy() << std::endl;
349 for (
unsigned int i=0;
i< (*digiItr).size() ; ++
i ) {
360 int pnDigiCounter = 0;
369 int pnNum = (*pnItr).id().iPnId();
372 edm::LogInfo(
"EcalDigiDisplay") <<
"\n\n^^^^^^^^^^^^^^^^^^ EcalDigiDisplay digi PN collection. Size: " << PNs->size();
373 edm::LogInfo(
"EcalDigiDisplay") <<
" [EcalDigiDisplay] dumping first " <<
listPns[0] <<
" PNs ";
375 if ( (pnDigiCounter++) >=
listPns[0] )
break;
376 }
else if ( Mode == 2) {
377 edm::LogInfo(
"EcalDigiDisplay") <<
"\n\n^^^^^^^^^^^^^^^^^^ EcalDigiDisplay digi PN collection. Size: " << PNs->size();
380 std::vector<int>::iterator pnIter;
382 if (pnIter ==
listPns.end())
continue;
384 edm::LogError(
"EcalDigiDisplay")<<
"[EcalDigiDisplay] parameter mode set to: " << Mode
385 <<
". Only mode 1 and 2 are allowed. Returning...";
391 std::cout <<
"\nPN num: " << (*pnItr).id().iPnId();
392 for (
int samId=0; samId < (*pnItr).size() ; samId++ ) {
395 << (*pnItr).sample(samId)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::vector< int > requestedFeds_
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
int getFedFromSlice(std::string)
std::vector< T >::const_iterator const_iterator
EcalMGPASample sample(int i) const
std::vector< int > listPns
virtual void analyze(edm::Event const &e, edm::EventSetup const &c)
void readEBDigis(edm::Handle< EBDigiCollection > digis, int Mode)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void readEEDigis(edm::Handle< EEDigiCollection > digis, int Mode)
std::string ebDigiCollection_
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
void readPNDigis(edm::Handle< EcalPnDiodeDigiCollection > PNs, int Mode)
int iDCCId() const
get the DCCId
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< int > listTowers
const EcalElectronicsMapping * ecalElectronicsMap_
std::vector< int > listChannels
T const * product() const
EcalDigiDisplay(const edm::ParameterSet &ps)
std::string eeDigiCollection_
virtual void beginRun(edm::Run const &, edm::EventSetup const &c)
std::vector< std::string > requestedEbs_
std::string digiProducer_