CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes
EBTimingTask Class Reference

#include <EBTimingTask.h>

Inheritance diagram for EBTimingTask:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 EBTimingTask (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~EBTimingTask ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Attributes

static const float shiftProf2D_ = 50.
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob (void)
 BeginJob. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun. More...
 
void cleanup (void)
 Cleanup. More...
 
void endJob (void)
 EndJob. More...
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun. More...
 
void reset (void)
 Reset. More...
 
void setup (void)
 Setup. More...
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 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)
 

Private Attributes

DQMStoredqmStore_
 
edm::EDGetTokenT
< EcalRawDataCollection
EcalRawDataCollection_
 
edm::EDGetTokenT
< EcalRecHitCollection
EcalRecHitCollection_
 
bool enableCleanup_
 
float energyThreshold_
 
int ievt_
 
bool init_
 
edm::EDGetTokenT
< L1GlobalTriggerEvmReadoutRecord
L1GtEvmReadoutRecord_
 
bool mergeRuns_
 
MonitorElementmeTime_ [36]
 
MonitorElementmeTimeAmpli_ [36]
 
MonitorElementmeTimeAmpliSummary_
 
MonitorElementmeTimeMap_ [36]
 
MonitorElementmeTimeSummary1D_
 
MonitorElementmeTimeSummaryMap_
 
MonitorElementmeTimeSummaryMapProjEta_
 
MonitorElementmeTimeSummaryMapProjPhi_
 
std::string prefixME_
 
bool stableBeamsDeclared_
 
bool useBeamStatus_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 22 of file EBTimingTask.h.

Constructor & Destructor Documentation

EBTimingTask::EBTimingTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 31 of file EBTimingTask.cc.

References dqmStore_, EcalRawDataCollection_, EcalRecHitCollection_, enableCleanup_, energyThreshold_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, L1GtEvmReadoutRecord_, mergeRuns_, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, cppFunctionSkipper::operator, prefixME_, stableBeamsDeclared_, AlCaHLTBitMon_QueryRunRegistry::string, and useBeamStatus_.

31  {
32 
33  init_ = false;
34 
36 
37  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
38 
39  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
40 
41  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
42 
43  energyThreshold_ = ps.getUntrackedParameter<double>("energyTreshold",1.0);
44 
45  EcalRawDataCollection_ = consumes<EcalRawDataCollection>(ps.getParameter<edm::InputTag>("EcalRawDataCollection"));
46  EcalRecHitCollection_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("EcalRecHitCollection"));
47 
48  L1GtEvmReadoutRecord_ = consumes<L1GlobalTriggerEvmReadoutRecord>(ps.getParameter<edm::InputTag>("L1GtEvmReadoutRecord"));
49 
50  useBeamStatus_ = ps.getUntrackedParameter<bool>("useBeamStatus", false);
51 
52  for (int i = 0; i < 36; i++) {
53  meTime_[i] = 0;
54  meTimeMap_[i] = 0;
55  meTimeAmpli_[i] = 0;
56  }
57 
59  meTimeSummary1D_ = 0;
61 
62  stableBeamsDeclared_ = false;
63 
64 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeAmpli_[36]
Definition: EBTimingTask.h:80
DQMStore * dqmStore_
Definition: EBTimingTask.h:64
std::string prefixME_
Definition: EBTimingTask.h:66
bool enableCleanup_
Definition: EBTimingTask.h:68
float energyThreshold_
Definition: EBTimingTask.h:72
bool stableBeamsDeclared_
Definition: EBTimingTask.h:89
MonitorElement * meTimeSummaryMap_
Definition: EBTimingTask.h:84
MonitorElement * meTimeMap_[36]
Definition: EBTimingTask.h:79
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > L1GtEvmReadoutRecord_
Definition: EBTimingTask.h:76
MonitorElement * meTimeSummary1D_
Definition: EBTimingTask.h:83
bool useBeamStatus_
Definition: EBTimingTask.h:88
edm::EDGetTokenT< EcalRecHitCollection > EcalRecHitCollection_
Definition: EBTimingTask.h:75
edm::EDGetTokenT< EcalRawDataCollection > EcalRawDataCollection_
Definition: EBTimingTask.h:74
MonitorElement * meTime_[36]
Definition: EBTimingTask.h:78
MonitorElement * meTimeAmpliSummary_
Definition: EBTimingTask.h:82
EBTimingTask::~EBTimingTask ( )
virtual

Destructor.

Definition at line 66 of file EBTimingTask.cc.

66  {
67 
68 }

Member Function Documentation

void EBTimingTask::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Analyze.

Implements edm::EDAnalyzer.

Definition at line 213 of file EBTimingTask.cc.

References EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, EcalBarrel, EcalRawDataCollection_, EcalRecHitCollection_, energyThreshold_, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), i, EBDetId::ic(), ievt_, init_, ecalpyutils::ism(), Numbers::iSM(), EcalRecHit::kGood, EcalRecHit::kOutOfTime, EcalSeverityLevel::kWeird, L1GtEvmReadoutRecord_, LogDebug, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, EcalDCCHeaderBlock::MTCC, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, reset(), environment_file_cff::runType, setup(), shiftProf2D_, stableBeamsDeclared_, Numbers::subDet(), and useBeamStatus_.

213  {
214 
215  const unsigned STABLE_BEAMS = 11;
216 
217  bool isData = true;
218  bool enable = false;
219  int runType[36];
220  for (int i=0; i<36; i++) runType[i] = -1;
221 
223 
224  if ( e.getByToken(EcalRawDataCollection_, dcchs) ) {
225 
226  for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
227 
228  if ( Numbers::subDet( *dcchItr ) != EcalBarrel ) continue;
229 
230  int ism = Numbers::iSM( *dcchItr, EcalBarrel );
231 
232  runType[ism-1] = dcchItr->getRunType();
233 
234  if ( dcchItr->getRunType() == EcalDCCHeaderBlock::COSMIC ||
235  dcchItr->getRunType() == EcalDCCHeaderBlock::MTCC ||
236  dcchItr->getRunType() == EcalDCCHeaderBlock::COSMICS_GLOBAL ||
237  dcchItr->getRunType() == EcalDCCHeaderBlock::PHYSICS_GLOBAL ||
238  dcchItr->getRunType() == EcalDCCHeaderBlock::COSMICS_LOCAL ||
239  dcchItr->getRunType() == EcalDCCHeaderBlock::PHYSICS_LOCAL ) enable = true;
240 
241  }
242 
243  } else {
244 
245  isData = false; enable = true;
246  edm::LogWarning("EBTimingTask") << "EcalRawDataCollection not available";
247 
248  }
249 
250  if ( ! enable ) return;
251 
252  if ( ! init_ ) this->setup();
253 
254  ievt_++;
255 
256  // resetting plots when stable beam is declared
259  if( e.getByToken(L1GtEvmReadoutRecord_, gtRecord) ) {
260 
261  unsigned lhcBeamMode = gtRecord->gtfeWord().beamMode();
262 
263  if( lhcBeamMode == STABLE_BEAMS ){
264 
265  reset();
266 
267  stableBeamsDeclared_ = true;
268 
269  }
270  }
271  }
272 
274  c.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
275 
277 
278  if ( e.getByToken(EcalRecHitCollection_, hits) ) {
279 
280  int neh = hits->size();
281  LogDebug("EBTimingTask") << "event " << ievt_ << " hits collection size " << neh;
282 
283  for ( EcalRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr ) {
284 
285  EBDetId id = hitItr->id();
286 
287  int ic = id.ic();
288  int ie = (ic-1)/20 + 1;
289  int ip = (ic-1)%20 + 1;
290 
291  int ism = Numbers::iSM( id );
292 
293  float xie = ie - 0.5;
294  float xip = ip - 0.5;
295 
296  if ( isData ) {
297 
298  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::COSMIC ||
299  runType[ism-1] == EcalDCCHeaderBlock::MTCC ||
300  runType[ism-1] == EcalDCCHeaderBlock::COSMICS_GLOBAL ||
301  runType[ism-1] == EcalDCCHeaderBlock::PHYSICS_GLOBAL ||
302  runType[ism-1] == EcalDCCHeaderBlock::COSMICS_LOCAL ||
303  runType[ism-1] == EcalDCCHeaderBlock::PHYSICS_LOCAL ) ) continue;
304 
305  }
306 
307  MonitorElement* meTime = 0;
308  MonitorElement* meTimeMap = 0;
309  MonitorElement* meTimeAmpli = 0;
310 
311  meTime = meTime_[ism-1];
312  meTimeMap = meTimeMap_[ism-1];
313  meTimeAmpli = meTimeAmpli_[ism-1];
314 
315  float xval = hitItr->energy();
316  float yval = hitItr->time();
317 
318  uint32_t flag = hitItr->recoFlag();
319 
320  uint32_t sev = sevlv->severityLevel(id, *hits);
321 
322  if ( (flag == EcalRecHit::kGood || flag == EcalRecHit::kOutOfTime) && sev != EcalSeverityLevel::kWeird ) {
323  if ( meTimeAmpli ) meTimeAmpli->Fill(xval, yval);
324  if ( meTimeAmpliSummary_ ) meTimeAmpliSummary_->Fill(xval, yval);
325 
326  if ( xval > energyThreshold_ ) {
327  if ( meTime ) meTime->Fill(yval);
328  if ( meTimeMap ) meTimeMap->Fill(xie, xip, yval+shiftProf2D_);
329  if ( meTimeSummary1D_ ) meTimeSummary1D_->Fill(yval);
330 
331  float xebeta = id.ieta() - 0.5 * id.zside();
332  float xebphi = id.iphi() - 0.5;
333  if ( meTimeSummaryMap_ ) meTimeSummaryMap_->Fill(xebphi, xebeta, yval+shiftProf2D_);
334  }
335 
336  }
337  }
338 
339  } else {
340 
341  edm::LogWarning("EBTimingTask") << "EcalRecHitCollection not available";
342 
343  }
344 
345 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeAmpli_[36]
Definition: EBTimingTask.h:80
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
std::vector< EcalDCCHeaderBlock >::const_iterator const_iterator
float energyThreshold_
Definition: EBTimingTask.h:72
bool stableBeamsDeclared_
Definition: EBTimingTask.h:89
void Fill(long long x)
void setup(void)
Setup.
MonitorElement * meTimeSummaryMap_
Definition: EBTimingTask.h:84
MonitorElement * meTimeMap_[36]
Definition: EBTimingTask.h:79
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > L1GtEvmReadoutRecord_
Definition: EBTimingTask.h:76
int ic() const
get ECAL/crystal number inside SM
Definition: EBDetId.cc:46
MonitorElement * meTimeSummary1D_
Definition: EBTimingTask.h:83
bool useBeamStatus_
Definition: EBTimingTask.h:88
edm::EDGetTokenT< EcalRecHitCollection > EcalRecHitCollection_
Definition: EBTimingTask.h:75
const T & get() const
Definition: EventSetup.h:55
void reset(void)
Reset.
Definition: EBTimingTask.cc:95
edm::EDGetTokenT< EcalRawDataCollection > EcalRawDataCollection_
Definition: EBTimingTask.h:74
MonitorElement * meTime_[36]
Definition: EBTimingTask.h:78
static unsigned iSM(const unsigned ism, const EcalSubdetector subdet)
Definition: Numbers.cc:243
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:142
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
MonitorElement * meTimeAmpliSummary_
Definition: EBTimingTask.h:82
static const float shiftProf2D_
Definition: EBTimingTask.h:32
void EBTimingTask::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 70 of file EBTimingTask.cc.

References dqmStore_, ievt_, prefixME_, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

70  {
71 
72  ievt_ = 0;
73 
74  if ( dqmStore_ ) {
75  dqmStore_->setCurrentFolder(prefixME_ + "/EBTimingTask");
76  dqmStore_->rmdir(prefixME_ + "/EBTimingTask");
77  }
78 
79 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2730
DQMStore * dqmStore_
Definition: EBTimingTask.h:64
std::string prefixME_
Definition: EBTimingTask.h:66
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
void EBTimingTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 81 of file EBTimingTask.cc.

References Numbers::initGeometry(), mergeRuns_, reset(), and stableBeamsDeclared_.

81  {
82 
83  Numbers::initGeometry(c, false);
84 
85  if ( ! mergeRuns_ ) this->reset();
86 
87  stableBeamsDeclared_ = false;
88 
89 }
bool stableBeamsDeclared_
Definition: EBTimingTask.h:89
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:47
void reset(void)
Reset.
Definition: EBTimingTask.cc:95
void EBTimingTask::cleanup ( void  )
protected

Cleanup.

Definition at line 172 of file EBTimingTask.cc.

References dqmStore_, MonitorElement::getName(), i, init_, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

172  {
173 
174  if ( ! init_ ) return;
175 
176  if ( dqmStore_ ) {
177  dqmStore_->setCurrentFolder(prefixME_ + "/EBTimingTask");
178 
179  for ( int i = 0; i < 36; i++ ) {
180  if ( meTime_[i] ) dqmStore_->removeElement( meTime_[i]->getName() );
181  meTime_[i] = 0;
182 
183  if ( meTimeMap_[i] ) dqmStore_->removeElement( meTimeMap_[i]->getName() );
184  meTimeMap_[i] = 0;
185 
186  if ( meTimeAmpli_[i] ) dqmStore_->removeElement( meTimeAmpli_[i]->getName() );
187  meTimeAmpli_[i] = 0;
188  }
189 
192 
194  meTimeSummary1D_ = 0;
195 
197  meTimeSummaryMap_ = 0;
198 
199  }
200 
201  init_ = false;
202 
203 }
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeAmpli_[36]
Definition: EBTimingTask.h:80
DQMStore * dqmStore_
Definition: EBTimingTask.h:64
std::string prefixME_
Definition: EBTimingTask.h:66
MonitorElement * meTimeSummaryMap_
Definition: EBTimingTask.h:84
void removeElement(const std::string &name)
Definition: DQMStore.cc:2772
MonitorElement * meTimeMap_[36]
Definition: EBTimingTask.h:79
MonitorElement * meTimeSummary1D_
Definition: EBTimingTask.h:83
MonitorElement * meTime_[36]
Definition: EBTimingTask.h:78
MonitorElement * meTimeAmpliSummary_
Definition: EBTimingTask.h:82
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
void EBTimingTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 205 of file EBTimingTask.cc.

References cleanup(), enableCleanup_, and ievt_.

205  {
206 
207  edm::LogInfo("EBTimingTask") << "analyzed " << ievt_ << " events";
208 
209  if ( enableCleanup_ ) this->cleanup();
210 
211 }
void cleanup(void)
Cleanup.
bool enableCleanup_
Definition: EBTimingTask.h:68
void EBTimingTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 91 of file EBTimingTask.cc.

91  {
92 
93 }
void EBTimingTask::reset ( void  )
protected

Reset.

Definition at line 95 of file EBTimingTask.cc.

References i, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, and MonitorElement::Reset().

Referenced by analyze(), and beginRun().

95  {
96 
97  for (int i = 0; i < 36; i++) {
98  if ( meTime_[i] ) meTime_[i]->Reset();
99  if ( meTimeMap_[i] ) meTimeMap_[i]->Reset();
100  if ( meTimeAmpli_[i] ) meTimeAmpli_[i]->Reset();
101  }
102 
106 
107 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeAmpli_[36]
Definition: EBTimingTask.h:80
MonitorElement * meTimeSummaryMap_
Definition: EBTimingTask.h:84
MonitorElement * meTimeMap_[36]
Definition: EBTimingTask.h:79
MonitorElement * meTimeSummary1D_
Definition: EBTimingTask.h:83
MonitorElement * meTime_[36]
Definition: EBTimingTask.h:78
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meTimeAmpliSummary_
Definition: EBTimingTask.h:82
void EBTimingTask::setup ( void  )
protected

Setup.

Definition at line 109 of file EBTimingTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile2D(), dqmStore_, i, init_, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, mergeVDriftHistosByStation::name, funct::pow(), prefixME_, Numbers::sEB(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), shiftProf2D_, AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::tag().

Referenced by analyze().

109  {
110 
111  init_ = true;
112 
114 
115  // for timing vs amplitude plots
116  const int nbinsE = 25;
117  const float minlogE = -0.5;
118  const float maxlogE = 2.;
119  float binEdgesE[nbinsE + 1];
120  for(int i = 0; i <= nbinsE; i++)
121  binEdgesE[i] = std::pow((float)10., minlogE + (maxlogE - minlogE) / nbinsE * i);
122 
123  const int nbinsT = 200;
124  const float minT = -50.;
125  const float maxT = 50.;
126  float binEdgesT[nbinsT + 1];
127  for(int i = 0; i <= nbinsT; i++)
128  binEdgesT[i] = minT + (maxT - minT) / nbinsT * i;
129 
130  if ( dqmStore_ ) {
131  dqmStore_->setCurrentFolder(prefixME_ + "/EBTimingTask");
132 
133  for (int i = 0; i < 36; i++) {
134  name = "EBTMT timing 1D " + Numbers::sEB(i+1);
135  meTime_[i] = dqmStore_->book1D(name, name, 50, -25., 25.);
136  meTime_[i]->setAxisTitle("time (ns)", 1);
137  dqmStore_->tag(meTime_[i], i+1);
138 
139  name = "EBTMT timing " + Numbers::sEB(i+1);
140  meTimeMap_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., -20.+shiftProf2D_, 20.+shiftProf2D_, "s");
141  meTimeMap_[i]->setAxisTitle("ieta", 1);
142  meTimeMap_[i]->setAxisTitle("iphi", 2);
143  meTimeMap_[i]->setAxisTitle("time (ns)", 3);
144  dqmStore_->tag(meTimeMap_[i], i+1);
145 
146  name = "EBTMT timing vs amplitude " + Numbers::sEB(i+1);
147  meTimeAmpli_[i] = dqmStore_->book2D(name, name, nbinsE, binEdgesE, nbinsT, binEdgesT);
148  meTimeAmpli_[i]->setAxisTitle("energy (GeV)", 1);
149  meTimeAmpli_[i]->setAxisTitle("time (ns)", 2);
150  dqmStore_->tag(meTimeAmpli_[i], i+1);
151  }
152 
153  name = "EBTMT timing vs amplitude summary";
154  meTimeAmpliSummary_ = dqmStore_->book2D(name, name, nbinsE, binEdgesE, nbinsT, binEdgesT);
155  meTimeAmpliSummary_->setAxisTitle("energy (GeV)", 1);
156  meTimeAmpliSummary_->setAxisTitle("time (ns)", 2);
157 
158  name = "EBTMT timing 1D summary";
159  meTimeSummary1D_ = dqmStore_->book1D(name, name, 50, -25., 25.);
160  meTimeSummary1D_->setAxisTitle("time (ns)", 1);
161 
162  name = "EBTMT timing map";
163  meTimeSummaryMap_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85, 85, -20.+shiftProf2D_, 20.+shiftProf2D_, "s");
164  meTimeSummaryMap_->setAxisTitle("jphi", 1);
165  meTimeSummaryMap_->setAxisTitle("jeta", 2);
166  meTimeSummaryMap_->setAxisTitle("time (ns)", 3);
167 
168  }
169 
170 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeAmpli_[36]
Definition: EBTimingTask.h:80
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:872
static std::string sEB(const unsigned ism)
Definition: Numbers.cc:91
DQMStore * dqmStore_
Definition: EBTimingTask.h:64
std::string prefixME_
Definition: EBTimingTask.h:66
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1509
MonitorElement * meTimeSummaryMap_
Definition: EBTimingTask.h:84
MonitorElement * meTimeMap_[36]
Definition: EBTimingTask.h:79
MonitorElement * meTimeSummary1D_
Definition: EBTimingTask.h:83
MonitorElement * meTime_[36]
Definition: EBTimingTask.h:78
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meTimeAmpliSummary_
Definition: EBTimingTask.h:82
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
static const float shiftProf2D_
Definition: EBTimingTask.h:32
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:1330

Member Data Documentation

DQMStore* EBTimingTask::dqmStore_
private

Definition at line 64 of file EBTimingTask.h.

Referenced by beginJob(), cleanup(), EBTimingTask(), and setup().

edm::EDGetTokenT<EcalRawDataCollection> EBTimingTask::EcalRawDataCollection_
private

Definition at line 74 of file EBTimingTask.h.

Referenced by analyze(), and EBTimingTask().

edm::EDGetTokenT<EcalRecHitCollection> EBTimingTask::EcalRecHitCollection_
private

Definition at line 75 of file EBTimingTask.h.

Referenced by analyze(), and EBTimingTask().

bool EBTimingTask::enableCleanup_
private

Definition at line 68 of file EBTimingTask.h.

Referenced by EBTimingTask(), and endJob().

float EBTimingTask::energyThreshold_
private

Definition at line 72 of file EBTimingTask.h.

Referenced by analyze(), and EBTimingTask().

int EBTimingTask::ievt_
private

Definition at line 62 of file EBTimingTask.h.

Referenced by analyze(), beginJob(), and endJob().

bool EBTimingTask::init_
private

Definition at line 86 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), and setup().

edm::EDGetTokenT<L1GlobalTriggerEvmReadoutRecord> EBTimingTask::L1GtEvmReadoutRecord_
private

Definition at line 76 of file EBTimingTask.h.

Referenced by analyze(), and EBTimingTask().

bool EBTimingTask::mergeRuns_
private

Definition at line 70 of file EBTimingTask.h.

Referenced by beginRun(), and EBTimingTask().

MonitorElement* EBTimingTask::meTime_[36]
private

Definition at line 78 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), reset(), and setup().

MonitorElement* EBTimingTask::meTimeAmpli_[36]
private

Definition at line 80 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), reset(), and setup().

MonitorElement* EBTimingTask::meTimeAmpliSummary_
private

Definition at line 82 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), reset(), and setup().

MonitorElement* EBTimingTask::meTimeMap_[36]
private

Definition at line 79 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), reset(), and setup().

MonitorElement* EBTimingTask::meTimeSummary1D_
private

Definition at line 83 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), reset(), and setup().

MonitorElement* EBTimingTask::meTimeSummaryMap_
private

Definition at line 84 of file EBTimingTask.h.

Referenced by analyze(), cleanup(), EBTimingTask(), reset(), and setup().

MonitorElement * EBTimingTask::meTimeSummaryMapProjEta_
private

Definition at line 84 of file EBTimingTask.h.

MonitorElement * EBTimingTask::meTimeSummaryMapProjPhi_
private

Definition at line 84 of file EBTimingTask.h.

std::string EBTimingTask::prefixME_
private

Definition at line 66 of file EBTimingTask.h.

Referenced by beginJob(), cleanup(), EBTimingTask(), and setup().

const float EBTimingTask::shiftProf2D_ = 50.
static

Definition at line 32 of file EBTimingTask.h.

Referenced by analyze(), and setup().

bool EBTimingTask::stableBeamsDeclared_
private

Definition at line 89 of file EBTimingTask.h.

Referenced by analyze(), beginRun(), and EBTimingTask().

bool EBTimingTask::useBeamStatus_
private

Definition at line 88 of file EBTimingTask.h.

Referenced by analyze(), and EBTimingTask().