CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
EcalStatusAnalyzer Class Reference

#include <EcalStatusAnalyzer.h>

Inheritance diagram for EcalStatusAnalyzer:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Types

enum  EcalLaserColorType { iBLUE = 0, iGREEN = 1, iRED = 3, iIR = 2 }
 
- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void beginJob () override
 
 EcalStatusAnalyzer (const edm::ParameterSet &iConfig)
 
void endJob () override
 
 ~EcalStatusAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

std::string _dataType
 
int dccID
 
std::vector< int > dccIDsLas
 
std::vector< int > dccIDsPed
 
std::vector< int > dccIDsTP
 
int event
 
std::string eventHeaderCollection_
 
std::string eventHeaderProducer_
 
int fedID
 
std::vector< int > fedIDsLas
 
std::vector< int > fedIDsPed
 
std::vector< int > fedIDsTP
 
int iEvent
 
std::map< int, int > isFedLasCreated
 
std::map< int, int > isFedPedCreated
 
std::map< int, int > isFedTPCreated
 
std::map< int, int > laserDelayBlue
 
std::map< int, int > laserDelayRed
 
std::map< int, int > laserFilterBlue
 
std::map< int, int > laserFilterRed
 
std::map< int, int > laserPowerBlue
 
std::map< int, int > laserPowerRed
 
std::map< int, short > MEMGainLas
 
std::map< int, short > MEMGainPed
 
std::map< int, short > MEMGainTP
 
std::map< int, short > MGPAGainLas
 
std::map< int, short > MGPAGainPed
 
std::map< int, short > MGPAGainTP
 
std::map< int, int > nBlueLas
 
std::map< int, int > nEvtsLas
 
std::map< int, int > nEvtsPed
 
std::map< int, int > nEvtsTP
 
std::map< int, int > nRedLas
 
int nSM
 
std::string resdir_
 
int runNum
 
int runType
 
std::map< int, int > runTypeLas
 
std::map< int, int > runTypePed
 
std::map< int, int > runTypeTP
 
std::string statusfile_
 
std::map< int, unsigned long long > timeStampBegLas
 
std::map< int, unsigned long long > timeStampBegPed
 
std::map< int, unsigned long long > timeStampBegTP
 
unsigned long long timeStampCur
 
std::map< int, unsigned long long > timeStampEndLas
 
std::map< int, unsigned long long > timeStampEndPed
 
std::map< int, unsigned long long > timeStampEndTP
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 11 of file EcalStatusAnalyzer.h.

Member Enumeration Documentation

◆ EcalLaserColorType

Enumerator
iBLUE 
iGREEN 
iRED 
iIR 

Definition at line 20 of file EcalStatusAnalyzer.h.

20  {
21  iBLUE = 0,
22  iGREEN = 1,
23  iRED = 3, // in fact should be 2
24  iIR = 2 // in fact should be 3
25  };

Constructor & Destructor Documentation

◆ EcalStatusAnalyzer()

EcalStatusAnalyzer::EcalStatusAnalyzer ( const edm::ParameterSet iConfig)
explicit

Definition at line 38 of file EcalStatusAnalyzer.cc.

References eventHeaderCollection_, eventHeaderProducer_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), resdir_, statusfile_, and AlCaHLTBitMon_QueryRunRegistry::string.

40  : iEvent(0),
41 
42  // framework parameters with default values
43  _dataType(iConfig.getUntrackedParameter<std::string>("dataType", "h4")) // h4 or p5
44 
45 //========================================================================
46 
47 {
48  //now do what ever initialization is needed
49 
50  resdir_ = iConfig.getUntrackedParameter<std::string>("resDir");
51  statusfile_ = iConfig.getUntrackedParameter<std::string>("statusFile");
52 
53  eventHeaderCollection_ = iConfig.getParameter<std::string>("eventHeaderCollection");
54  eventHeaderProducer_ = iConfig.getParameter<std::string>("eventHeaderProducer");
55 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::string eventHeaderCollection_
T getUntrackedParameter(std::string const &, T const &) const
std::string eventHeaderProducer_

◆ ~EcalStatusAnalyzer()

EcalStatusAnalyzer::~EcalStatusAnalyzer ( )
override

Definition at line 58 of file EcalStatusAnalyzer.cc.

58  {
59  //========================================================================
60 
61  // do anything here that needs to be done at desctruction time
62  // (e.g. close files, deallocate resources etc.)
63 }

Member Function Documentation

◆ analyze()

void EcalStatusAnalyzer::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overridevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 79 of file EcalStatusAnalyzer.cc.

References _dataType, EcalTBEventHeader::begBurstTimeSec(), edm::SortedCollection< T, SORT >::begin(), EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::cerr, dccID, dccIDsLas, dccIDsPed, dccIDsTP, EcalDCCHeaderBlock::EcalDCCEventSettings::delay, MillePedeFileConverter_cfg::e, edm::SortedCollection< T, SORT >::end(), eventHeaderCollection_, eventHeaderProducer_, cppFunctionSkipper::exception, fedID, fedIDsLas, fedIDsPed, fedIDsTP, iBLUE, iEvent, iIR, isFedLasCreated, isFedPedCreated, isFedTPCreated, EcalDCCHeaderBlock::LASER_DELAY_SCAN, EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_POWER_SCAN, EcalDCCHeaderBlock::LASER_STD, laserDelayBlue, laserDelayRed, EcalDCCHeaderBlock::EcalDCCEventSettings::LaserFilter, laserFilterBlue, laserFilterRed, EcalDCCHeaderBlock::EcalDCCEventSettings::LaserPower, laserPowerBlue, laserPowerRed, PNIntegrityClient_cfi::MEMGain, MEMGainLas, MEMGainPed, MEMGainTP, MGPAGainLas, MGPAGainPed, MGPAGainTP, nBlueLas, nEvtsLas, nEvtsPed, nEvtsTP, nRedLas, nSM, EcalDCCHeaderBlock::PEDESTAL_25NS_SCAN, EcalDCCHeaderBlock::PEDESTAL_OFFSET_SCAN, EcalDCCHeaderBlock::PEDESTAL_STD, edm::Handle< T >::product(), runNum, runType, runTypeLas, runTypePed, runTypeTP, EcalTBEventHeader::smInBeam(), EcalDCCHeaderBlock::TESTPULSE_GAP, EcalDCCHeaderBlock::TESTPULSE_MGPA, EcalDCCHeaderBlock::TESTPULSE_SCAN_MEM, RecoSummaryTask_cfi::Time, timeStampBegLas, timeStampBegPed, timeStampBegTP, timeStampCur, timeStampEndLas, timeStampEndPed, timeStampEndTP, and EcalDCCHeaderBlock::EcalDCCEventSettings::wavelength.

79  {
80  //========================================================================
81 
82  ++iEvent;
83 
84  // retrieving DCC header
86  const EcalRawDataCollection* DCCHeader = nullptr;
87  try {
88  e.getByLabel(eventHeaderProducer_, eventHeaderCollection_, pDCCHeader);
89  DCCHeader = pDCCHeader.product();
90  } catch (std::exception& ex) {
91  std::cerr << "Error! can't get the product retrieving DCC header " << eventHeaderCollection_.c_str() << std::endl;
92  }
93 
94  // retrieving TB event header
95 
96  edm::Handle<EcalTBEventHeader> pEventHeader;
97  const EcalTBEventHeader* evtHeader = nullptr;
98  if (_dataType == "h4") {
99  try {
100  e.getByLabel(eventHeaderProducer_, pEventHeader);
101  evtHeader = pEventHeader.product(); // get a ptr to the product
102  } catch (std::exception& ex) {
103  std::cerr << "Error! can't get the product " << eventHeaderProducer_.c_str() << std::endl;
104  }
105 
106  timeStampCur = evtHeader->begBurstTimeSec();
107  nSM = evtHeader->smInBeam();
108  }
109 
110  // Get Timestamp
111 
112  edm::Timestamp Time = e.time();
113 
114  if (_dataType != "h4") {
115  timeStampCur = Time.value();
116  }
117 
118  // ====================================
119  // Decode Basic DCCHeader Information
120  // ====================================
121 
122  for (EcalRawDataCollection::const_iterator headerItr = DCCHeader->begin(); headerItr != DCCHeader->end();
123  ++headerItr) {
124  // Get run type and run number
125  runType = headerItr->getRunType();
126  runNum = headerItr->getRunNumber();
127  event = headerItr->getLV1();
128  dccID = headerItr->getDccInTCCCommand();
129  fedID = headerItr->fedId();
130 
131  short VFEGain = headerItr->getMgpaGain();
132  short MEMGain = headerItr->getMemGain();
133 
134  // Retrieve laser color and event number
135 
136  EcalDCCHeaderBlock::EcalDCCEventSettings settings = headerItr->getEventSettings();
137 
138  int laser_color = settings.wavelength;
139  int laser_power = settings.LaserPower;
140  int laser_filter = settings.LaserFilter;
141  int laser_delay = settings.delay;
142  if (laser_color < 0)
143  return;
144  // int laser_ = settings.MEMVinj;
145 
146  bool isLas = false;
147  bool isTP = false;
148  bool isPed = false;
149 
152  isLas = true;
153 
156  isTP = true;
157 
160  isPed = true;
161 
162  // take event only if the fed corresponds to the DCC in TCC
163  // and fill gain stuff with value of 1st event
164 
165  if (600 + dccID != fedID)
166  continue;
167 
168  bool doesExist = false;
169 
170  if ((isFedLasCreated.count(fedID) == 1 && isLas) || (isFedTPCreated.count(fedID) == 1 && isTP) ||
171  (isFedPedCreated.count(fedID) == 1 && isPed))
172  doesExist = true;
173  else if (isLas)
174  isFedLasCreated[fedID] = 1;
175  else if (isTP)
176  isFedTPCreated[fedID] = 1;
177  else if (isPed)
178  isFedPedCreated[fedID] = 1;
179 
180  if (!doesExist) {
181  // create new entry for laser
182 
183  if (isLas) {
184  fedIDsLas.push_back(fedID);
185  dccIDsLas.push_back(dccID);
186 
189 
190  nEvtsLas[fedID] = 1;
192 
193  if (laser_color == iBLUE) {
194  nBlueLas[fedID] = 1;
195  laserPowerBlue[fedID] = laser_power;
196  laserFilterBlue[fedID] = laser_filter;
197  laserDelayBlue[fedID] = laser_delay;
198  } else if (laser_color == iIR) {
199  nRedLas[fedID] = 1;
200  laserPowerRed[fedID] = laser_power;
201  laserFilterRed[fedID] = laser_filter;
202  laserDelayRed[fedID] = laser_delay;
203  }
204 
205  MGPAGainLas[fedID] = VFEGain;
207 
208  }
209 
210  // or create new entry for test-pulse
211  else if (isTP) {
212  fedIDsTP.push_back(fedID);
213  dccIDsTP.push_back(dccID);
214 
215  nEvtsTP[fedID] = 1;
217 
220 
221  MGPAGainTP[fedID] = VFEGain;
223 
224  // or create new entry for pedestal
225 
226  } else if (isPed) {
227  fedIDsPed.push_back(fedID);
228  dccIDsPed.push_back(dccID);
229 
230  nEvtsPed[fedID] = 1;
232 
235 
236  MGPAGainPed[fedID] = VFEGain;
238  }
239 
240  } else {
241  if (isLas) {
242  nEvtsLas[fedID]++;
243  if (laser_color == iBLUE)
244  nBlueLas[fedID]++;
245  else if (laser_color == iIR)
246  nRedLas[fedID]++;
247 
252 
253  } else if (isTP) {
254  nEvtsTP[fedID]++;
259  } else if (isPed) {
260  nEvtsPed[fedID]++;
265  }
266  }
267  }
268 
269 } // analyze
std::map< int, int > nRedLas
std::map< int, int > laserDelayRed
std::vector< int > dccIDsPed
std::map< int, short > MGPAGainLas
std::map< int, int > laserPowerRed
std::map< int, int > runTypePed
std::vector< int > fedIDsTP
std::map< int, unsigned long long > timeStampEndTP
T const * product() const
Definition: Handle.h:70
std::vector< T >::const_iterator const_iterator
std::map< int, unsigned long long > timeStampEndLas
std::string eventHeaderCollection_
std::map< int, short > MEMGainTP
std::map< int, int > nEvtsLas
std::map< int, unsigned long long > timeStampBegTP
std::map< int, int > isFedLasCreated
std::vector< int > dccIDsTP
std::map< int, short > MEMGainLas
std::map< int, int > isFedPedCreated
std::map< int, unsigned long long > timeStampBegPed
std::map< int, int > nEvtsTP
std::vector< int > fedIDsLas
int begBurstTimeSec() const
Returns the begin burst time (sec)
std::vector< int > fedIDsPed
std::map< int, int > runTypeTP
std::string eventHeaderProducer_
std::map< int, int > runTypeLas
std::map< int, unsigned long long > timeStampBegLas
std::map< int, int > nBlueLas
short smInBeam() const
Returns the burst number.
std::map< int, int > isFedTPCreated
const_iterator begin() const
std::map< int, int > laserDelayBlue
const_iterator end() const
std::map< int, int > laserFilterRed
std::map< int, short > MGPAGainPed
std::map< int, unsigned long long > timeStampEndPed
std::map< int, short > MEMGainPed
std::map< int, short > MGPAGainTP
std::vector< int > dccIDsLas
unsigned long long timeStampCur
std::map< int, int > nEvtsPed
std::map< int, int > laserFilterBlue
std::map< int, int > laserPowerBlue

◆ beginJob()

void EcalStatusAnalyzer::beginJob ( )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 66 of file EcalStatusAnalyzer.cc.

References fedID, nSM, runNum, and runType.

66  {
67  //========================================================================
68 
69  // Initializations
70 
71  nSM = 0;
72  fedID = 0;
73  runType = -999;
74  runNum = -999;
75  event = 0;
76 }

◆ endJob()

void EcalStatusAnalyzer::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 272 of file EcalStatusAnalyzer.cc.

References dccIDsLas, dccIDsPed, dccIDsTP, fedIDsLas, fedIDsPed, fedIDsTP, mps_fire::i, laserDelayBlue, laserDelayRed, laserFilterBlue, laserFilterRed, laserPowerBlue, laserPowerRed, MEMGainLas, MEMGainPed, MEMGainTP, MGPAGainLas, MGPAGainPed, MGPAGainTP, nBlueLas, nEvtsLas, nEvtsPed, nEvtsTP, nRedLas, MillePedeFileConverter_cfg::out, resdir_, runTypeLas, runTypePed, runTypeTP, statusfile_, timeStampBegLas, timeStampBegPed, timeStampBegTP, timeStampEndLas, timeStampEndPed, and timeStampEndTP.

Referenced by o2olib.O2ORunMgr::executeJob().

272  {
273  //========================================================================
274 
275  // Create output status file
276 
277  std::stringstream namefile;
278  namefile << resdir_ << "/" << statusfile_;
279 
280  string statusfile = namefile.str();
281 
282  std::ofstream statusFile(statusfile.c_str(), std::ofstream::out);
283 
284  if (!fedIDsLas.empty() && fedIDsLas.size() == dccIDsLas.size()) {
285  statusFile << "+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=" << std::endl;
286  statusFile << " LASER Events " << std::endl;
287  statusFile << "+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=" << std::endl;
288 
289  for (unsigned int i = 0; i < fedIDsLas.size(); i++) {
290  statusFile << "RUNTYPE = " << runTypeLas[fedIDsLas.at(i)] << std::endl;
291  statusFile << "FEDID = " << fedIDsLas.at(i) << std::endl;
292  statusFile << "DCCID = " << dccIDsLas.at(i) << std::endl;
293  statusFile << "TIMESTAMP_BEG = " << timeStampBegLas[fedIDsLas.at(i)] << std::endl;
294  statusFile << "TIMESTAMP_END = " << timeStampEndLas[fedIDsLas.at(i)] << std::endl;
295  statusFile << "MPGA_GAIN = " << MGPAGainLas[fedIDsLas.at(i)] << std::endl;
296  statusFile << "MEM_GAIN = " << MEMGainLas[fedIDsLas.at(i)] << std::endl;
297  statusFile << "EVENTS = " << nEvtsLas[fedIDsLas.at(i)] << std::endl;
298 
299  if (nBlueLas[fedIDsLas.at(i)] > 0) {
300  statusFile << " blue laser events = " << nBlueLas[fedIDsLas.at(i)] << std::endl;
301  statusFile << " blue laser power = " << laserPowerBlue[fedIDsLas.at(i)] << std::endl;
302  statusFile << " blue laser filter = " << laserFilterBlue[fedIDsLas.at(i)] << std::endl;
303  statusFile << " blue laser delay = " << laserDelayBlue[fedIDsLas.at(i)] << std::endl;
304  }
305 
306  if (nRedLas[fedIDsLas.at(i)] > 0) {
307  statusFile << " ired laser events = " << nRedLas[fedIDsLas.at(i)] << std::endl;
308  statusFile << " ired laser power = " << laserPowerRed[fedIDsLas.at(i)] << std::endl;
309  statusFile << " ired laser filter = " << laserFilterRed[fedIDsLas.at(i)] << std::endl;
310  statusFile << " ired laser delay = " << laserDelayRed[fedIDsLas.at(i)] << std::endl;
311  }
312 
313  if (i < fedIDsLas.size() - 1)
314  statusFile << "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" << std::endl;
315  else
316  statusFile << " " << std::endl;
317  }
318  }
319 
320  if (!fedIDsTP.empty() && fedIDsTP.size() == dccIDsTP.size()) {
321  statusFile << "+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=" << std::endl;
322  statusFile << " TESTPULSE Events " << std::endl;
323  statusFile << "+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=" << std::endl;
324 
325  for (unsigned int i = 0; i < fedIDsTP.size(); i++) {
326  statusFile << "RUNTYPE = " << runTypeTP[fedIDsTP.at(i)] << std::endl;
327  statusFile << "FEDID = " << fedIDsTP.at(i) << std::endl;
328  statusFile << "DCCID = " << dccIDsTP.at(i) << std::endl;
329  statusFile << "TIMESTAMP_BEG = " << timeStampBegTP[fedIDsTP.at(i)] << std::endl;
330  statusFile << "TIMESTAMP_END = " << timeStampEndTP[fedIDsTP.at(i)] << std::endl;
331  statusFile << "MPGA_GAIN = " << MGPAGainTP[fedIDsTP.at(i)] << std::endl;
332  statusFile << "MEM_GAIN = " << MEMGainTP[fedIDsTP.at(i)] << std::endl;
333  statusFile << "EVENTS = " << nEvtsTP[fedIDsTP.at(i)] << std::endl;
334  if (i < fedIDsTP.size() - 1)
335  statusFile << "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" << std::endl;
336  else
337  statusFile << " " << std::endl;
338  }
339  }
340 
341  if (!fedIDsPed.empty() && fedIDsPed.size() == dccIDsPed.size()) {
342  statusFile << "+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=" << std::endl;
343  statusFile << " PEDESTAL Events " << std::endl;
344  statusFile << "+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=" << std::endl;
345 
346  for (unsigned int i = 0; i < fedIDsPed.size(); i++) {
347  statusFile << "RUNTYPE = " << runTypePed[fedIDsPed.at(i)] << std::endl;
348  statusFile << "FEDID = " << fedIDsPed.at(i) << std::endl;
349  statusFile << "DCCID = " << dccIDsPed.at(i) << std::endl;
350  statusFile << "TIMESTAMP_BEG = " << timeStampBegPed[fedIDsPed.at(i)] << std::endl;
351  statusFile << "TIMESTAMP_END = " << timeStampEndPed[fedIDsPed.at(i)] << std::endl;
352  statusFile << "MPGA_GAIN = " << MGPAGainPed[fedIDsPed.at(i)] << std::endl;
353  statusFile << "MEM_GAIN = " << MEMGainPed[fedIDsPed.at(i)] << std::endl;
354  statusFile << "EVENTS = " << nEvtsPed[fedIDsPed.at(i)] << std::endl;
355  if (i < fedIDsPed.size() - 1)
356  statusFile << "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" << std::endl;
357  else
358  statusFile << " " << std::endl;
359  }
360  }
361  statusFile << " ... header done" << std::endl;
362 
363  statusFile.close();
364 }
std::map< int, int > nRedLas
std::map< int, int > laserDelayRed
std::vector< int > dccIDsPed
std::map< int, short > MGPAGainLas
std::map< int, int > laserPowerRed
std::map< int, int > runTypePed
std::vector< int > fedIDsTP
std::map< int, unsigned long long > timeStampEndTP
std::map< int, unsigned long long > timeStampEndLas
std::map< int, short > MEMGainTP
std::map< int, int > nEvtsLas
std::map< int, unsigned long long > timeStampBegTP
std::vector< int > dccIDsTP
std::map< int, short > MEMGainLas
std::map< int, unsigned long long > timeStampBegPed
std::map< int, int > nEvtsTP
std::vector< int > fedIDsLas
std::vector< int > fedIDsPed
std::map< int, int > runTypeTP
std::map< int, int > runTypeLas
std::map< int, unsigned long long > timeStampBegLas
std::map< int, int > nBlueLas
std::map< int, int > laserDelayBlue
std::map< int, int > laserFilterRed
std::map< int, short > MGPAGainPed
std::map< int, unsigned long long > timeStampEndPed
std::map< int, short > MEMGainPed
std::map< int, short > MGPAGainTP
std::vector< int > dccIDsLas
std::map< int, int > nEvtsPed
std::map< int, int > laserFilterBlue
std::map< int, int > laserPowerBlue

Member Data Documentation

◆ _dataType

std::string EcalStatusAnalyzer::_dataType
private

Definition at line 46 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ dccID

int EcalStatusAnalyzer::dccID
private

Definition at line 55 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ dccIDsLas

std::vector<int> EcalStatusAnalyzer::dccIDsLas
private

Definition at line 42 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ dccIDsPed

std::vector<int> EcalStatusAnalyzer::dccIDsPed
private

Definition at line 44 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ dccIDsTP

std::vector<int> EcalStatusAnalyzer::dccIDsTP
private

Definition at line 43 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ event

int EcalStatusAnalyzer::event
private

◆ eventHeaderCollection_

std::string EcalStatusAnalyzer::eventHeaderCollection_
private

Definition at line 32 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and EcalStatusAnalyzer().

◆ eventHeaderProducer_

std::string EcalStatusAnalyzer::eventHeaderProducer_
private

Definition at line 33 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and EcalStatusAnalyzer().

◆ fedID

int EcalStatusAnalyzer::fedID
private

Definition at line 54 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and beginJob().

◆ fedIDsLas

std::vector<int> EcalStatusAnalyzer::fedIDsLas
private

Definition at line 39 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ fedIDsPed

std::vector<int> EcalStatusAnalyzer::fedIDsPed
private

Definition at line 41 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ fedIDsTP

std::vector<int> EcalStatusAnalyzer::fedIDsTP
private

Definition at line 40 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ iEvent

int EcalStatusAnalyzer::iEvent
private

Definition at line 28 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ isFedLasCreated

std::map<int, int> EcalStatusAnalyzer::isFedLasCreated
private

Definition at line 35 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ isFedPedCreated

std::map<int, int> EcalStatusAnalyzer::isFedPedCreated
private

Definition at line 37 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ isFedTPCreated

std::map<int, int> EcalStatusAnalyzer::isFedTPCreated
private

Definition at line 36 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ laserDelayBlue

std::map<int, int> EcalStatusAnalyzer::laserDelayBlue
private

Definition at line 79 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ laserDelayRed

std::map<int, int> EcalStatusAnalyzer::laserDelayRed
private

Definition at line 83 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ laserFilterBlue

std::map<int, int> EcalStatusAnalyzer::laserFilterBlue
private

Definition at line 78 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ laserFilterRed

std::map<int, int> EcalStatusAnalyzer::laserFilterRed
private

Definition at line 82 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ laserPowerBlue

std::map<int, int> EcalStatusAnalyzer::laserPowerBlue
private

Definition at line 77 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ laserPowerRed

std::map<int, int> EcalStatusAnalyzer::laserPowerRed
private

Definition at line 81 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ MEMGainLas

std::map<int, short> EcalStatusAnalyzer::MEMGainLas
private

Definition at line 69 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ MEMGainPed

std::map<int, short> EcalStatusAnalyzer::MEMGainPed
private

Definition at line 75 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ MEMGainTP

std::map<int, short> EcalStatusAnalyzer::MEMGainTP
private

Definition at line 72 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ MGPAGainLas

std::map<int, short> EcalStatusAnalyzer::MGPAGainLas
private

Definition at line 68 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ MGPAGainPed

std::map<int, short> EcalStatusAnalyzer::MGPAGainPed
private

Definition at line 74 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ MGPAGainTP

std::map<int, short> EcalStatusAnalyzer::MGPAGainTP
private

Definition at line 71 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ nBlueLas

std::map<int, int> EcalStatusAnalyzer::nBlueLas
private

Definition at line 86 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ nEvtsLas

std::map<int, int> EcalStatusAnalyzer::nEvtsLas
private

Definition at line 85 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ nEvtsPed

std::map<int, int> EcalStatusAnalyzer::nEvtsPed
private

Definition at line 93 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ nEvtsTP

std::map<int, int> EcalStatusAnalyzer::nEvtsTP
private

Definition at line 90 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ nRedLas

std::map<int, int> EcalStatusAnalyzer::nRedLas
private

Definition at line 87 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ nSM

int EcalStatusAnalyzer::nSM
private

Definition at line 53 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and beginJob().

◆ resdir_

std::string EcalStatusAnalyzer::resdir_
private

Definition at line 30 of file EcalStatusAnalyzer.h.

Referenced by EcalStatusAnalyzer(), and endJob().

◆ runNum

int EcalStatusAnalyzer::runNum
private

Definition at line 51 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and beginJob().

◆ runType

int EcalStatusAnalyzer::runType
private

Definition at line 50 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and beginJob().

◆ runTypeLas

std::map<int, int> EcalStatusAnalyzer::runTypeLas
private

Definition at line 88 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ runTypePed

std::map<int, int> EcalStatusAnalyzer::runTypePed
private

Definition at line 94 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ runTypeTP

std::map<int, int> EcalStatusAnalyzer::runTypeTP
private

Definition at line 91 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ statusfile_

std::string EcalStatusAnalyzer::statusfile_
private

Definition at line 31 of file EcalStatusAnalyzer.h.

Referenced by EcalStatusAnalyzer(), and endJob().

◆ timeStampBegLas

std::map<int, unsigned long long> EcalStatusAnalyzer::timeStampBegLas
private

Definition at line 59 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ timeStampBegPed

std::map<int, unsigned long long> EcalStatusAnalyzer::timeStampBegPed
private

Definition at line 65 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ timeStampBegTP

std::map<int, unsigned long long> EcalStatusAnalyzer::timeStampBegTP
private

Definition at line 62 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ timeStampCur

unsigned long long EcalStatusAnalyzer::timeStampCur
private

Definition at line 57 of file EcalStatusAnalyzer.h.

Referenced by analyze().

◆ timeStampEndLas

std::map<int, unsigned long long> EcalStatusAnalyzer::timeStampEndLas
private

Definition at line 60 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ timeStampEndPed

std::map<int, unsigned long long> EcalStatusAnalyzer::timeStampEndPed
private

Definition at line 66 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().

◆ timeStampEndTP

std::map<int, unsigned long long> EcalStatusAnalyzer::timeStampEndTP
private

Definition at line 63 of file EcalStatusAnalyzer.h.

Referenced by analyze(), and endJob().