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
EETimingTask Class Reference

#include <EETimingTask.h>

Inheritance diagram for EETimingTask:
edm::EDAnalyzer

Public Member Functions

 EETimingTask (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~EETimingTask ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

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::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Attributes

DQMStoredqmStore_
 
edm::InputTag EcalRawDataCollection_
 
edm::InputTag EcalRecHitCollection_
 
bool enableCleanup_
 
float energyThreshold_
 
int ievt_
 
bool init_
 
bool initCaloGeometry_
 
bool mergeRuns_
 
MonitorElementmeTime_ [18]
 
MonitorElementmeTimeAmpli_ [18]
 
MonitorElementmeTimeAmpliSummary_ [2]
 
MonitorElementmeTimeDelta2D_
 
MonitorElementmeTimeDelta_
 
MonitorElementmeTimeMap_ [18]
 
MonitorElementmeTimeSummary1D_ [2]
 
MonitorElementmeTimeSummaryMap_ [2]
 
edm::ESHandle< CaloGeometrypGeometry_
 
std::string prefixME_
 

Additional Inherited Members

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

Detailed Description

Definition at line 26 of file EETimingTask.h.

Constructor & Destructor Documentation

EETimingTask::EETimingTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 33 of file EETimingTask.cc.

References dqmStore_, EcalRawDataCollection_, EcalRecHitCollection_, enableCleanup_, energyThreshold_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, initCaloGeometry_, mergeRuns_, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeDelta2D_, meTimeDelta_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, cmsCodeRules.cppFunctionSkipper::operator, and prefixME_.

33  {
34 
35  init_ = false;
36 
37  initCaloGeometry_ = false;
38 
40 
41  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
42 
43  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
44 
45  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
46 
47  energyThreshold_ = ps.getUntrackedParameter<double>("energyThreshold", 3.);
48 
49  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
50  EcalRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalRecHitCollection");
51 
52  for (int i = 0; i < 18; i++) {
53  meTime_[i] = 0;
54  meTimeMap_[i] = 0;
55  meTimeAmpli_[i] = 0;
56  }
57 
58  for (int i = 0; i < 2; i++) {
60  meTimeSummary1D_[i] = 0;
61  meTimeSummaryMap_[i] = 0;
62  }
63 
64  meTimeDelta_ = 0;
65  meTimeDelta2D_ = 0;
66 
67 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meTimeDelta2D_
Definition: EETimingTask.h:88
int i
Definition: DBlmapReader.cc:9
edm::InputTag EcalRawDataCollection_
Definition: EETimingTask.h:78
std::string prefixME_
Definition: EETimingTask.h:70
MonitorElement * meTimeMap_[18]
Definition: EETimingTask.h:82
MonitorElement * meTimeSummary1D_[2]
Definition: EETimingTask.h:86
MonitorElement * meTimeSummaryMap_[2]
Definition: EETimingTask.h:87
DQMStore * dqmStore_
Definition: EETimingTask.h:68
bool initCaloGeometry_
Definition: EETimingTask.h:93
MonitorElement * meTimeDelta_
Definition: EETimingTask.h:88
MonitorElement * meTimeAmpliSummary_[2]
Definition: EETimingTask.h:85
float energyThreshold_
Definition: EETimingTask.h:76
bool enableCleanup_
Definition: EETimingTask.h:72
edm::InputTag EcalRecHitCollection_
Definition: EETimingTask.h:79
MonitorElement * meTime_[18]
Definition: EETimingTask.h:81
MonitorElement * meTimeAmpli_[18]
Definition: EETimingTask.h:83
EETimingTask::~EETimingTask ( )
virtual

Destructor.

Definition at line 69 of file EETimingTask.cc.

69  {
70 
71 }

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 258 of file EETimingTask.cc.

References EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, EcalEndcap, EcalRawDataCollection_, EcalRecHitCollection_, energyThreshold_, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByLabel(), i, ievt_, init_, ecalpyutils::ism(), Numbers::iSM(), EEDetId::ix(), EcalRecHit::kGood, EcalRecHit::kOutOfTime, EcalSeverityLevelAlgo::kWeird, LogDebug, meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeDelta2D_, meTimeDelta_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, EcalDCCHeaderBlock::MTCC, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, setup(), shiftProf2D, and Numbers::subDet().

258  {
259 
260  bool isData = true;
261  bool enable = false;
262  int runType[18];
263  for (int i=0; i<18; i++) runType[i] = -1;
264 
266 
267  if ( e.getByLabel(EcalRawDataCollection_, dcchs) ) {
268 
269  for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
270 
271  if ( Numbers::subDet( *dcchItr ) != EcalEndcap ) continue;
272 
273  int ism = Numbers::iSM( *dcchItr, EcalEndcap );
274 
275  runType[ism-1] = dcchItr->getRunType();
276 
277  if ( dcchItr->getRunType() == EcalDCCHeaderBlock::COSMIC ||
278  dcchItr->getRunType() == EcalDCCHeaderBlock::MTCC ||
279  dcchItr->getRunType() == EcalDCCHeaderBlock::COSMICS_GLOBAL ||
280  dcchItr->getRunType() == EcalDCCHeaderBlock::PHYSICS_GLOBAL ||
281  dcchItr->getRunType() == EcalDCCHeaderBlock::COSMICS_LOCAL ||
282  dcchItr->getRunType() == EcalDCCHeaderBlock::PHYSICS_LOCAL ) enable = true;
283 
284  }
285 
286  } else {
287 
288  isData = false; enable = true;
289  edm::LogWarning("EETimingTask") << EcalRawDataCollection_ << " not available";
290 
291  }
292 
293  if ( ! enable ) return;
294 
295  if ( ! init_ ) this->setup();
296 
297  ievt_++;
298 
299  float sumTime_hithr[2] = {0.,0.};
300  int n_hithr[2] = {0,0};
301 
303  c.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
304 
306 
307  if ( e.getByLabel(EcalRecHitCollection_, hits) ) {
308 
309  int neh = hits->size();
310  LogDebug("EETimingTask") << "event " << ievt_ << " hits collection size " << neh;
311 
312  for ( EcalRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr ) {
313 
314  EEDetId id = hitItr->id();
315 
316  int ix = id.ix();
317  int iy = id.iy();
318  int iz = ( id.positiveZ() ) ? 1 : 0;
319 
320  int ism = Numbers::iSM( id );
321 
322  if ( ism >= 1 && ism <= 9 ) ix = 101 - ix;
323 
324  float xix = ix - 0.5;
325  float xiy = iy - 0.5;
326 
327  if ( isData ) {
328 
329  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::COSMIC ||
330  runType[ism-1] == EcalDCCHeaderBlock::MTCC ||
331  runType[ism-1] == EcalDCCHeaderBlock::COSMICS_GLOBAL ||
332  runType[ism-1] == EcalDCCHeaderBlock::PHYSICS_GLOBAL ||
333  runType[ism-1] == EcalDCCHeaderBlock::COSMICS_LOCAL ||
334  runType[ism-1] == EcalDCCHeaderBlock::PHYSICS_LOCAL ) ) continue;
335 
336  }
337 
338  MonitorElement* meTime = 0;
339  MonitorElement* meTimeMap = 0;
340  MonitorElement* meTimeAmpli = 0;
341 
342  meTime = meTime_[ism-1];
343  meTimeMap = meTimeMap_[ism-1];
344  meTimeAmpli = meTimeAmpli_[ism-1];
345 
346  float xval = hitItr->energy();
347  float yval = hitItr->time();
348 
349  uint32_t flag = hitItr->recoFlag();
350 
351  uint32_t sev = sevlv->severityLevel(id, *hits );
352 
353  if ( (flag == EcalRecHit::kGood || flag == EcalRecHit::kOutOfTime) && sev != EcalSeverityLevelAlgo::kWeird ) {
354  if ( meTimeAmpli ) meTimeAmpli->Fill(xval, yval);
355  if ( meTimeAmpliSummary_[iz] ) meTimeAmpliSummary_[iz]->Fill(xval, yval);
356  if ( hitItr->energy() > energyThreshold_ ) {
357  if ( meTimeMap ) meTimeMap->Fill(xix, xiy, yval+shiftProf2D);
358  if ( meTime ) meTime->Fill(yval);
359  if ( meTimeSummary1D_[iz] ) meTimeSummary1D_[iz]->Fill(yval);
360 
361  if ( meTimeSummaryMap_[iz] ) meTimeSummaryMap_[iz]->Fill(id.ix()-0.5, xiy, yval+shiftProf2D);
362 
363  sumTime_hithr[iz] += yval;
364  n_hithr[iz]++;
365  }
366  } // good rh for timing
367  } // loop over rh
368 
369  if (n_hithr[0] > 0 && n_hithr[1] > 0 ) {
370  if ( meTimeDelta_ ) meTimeDelta_->Fill( sumTime_hithr[1]/n_hithr[1] - sumTime_hithr[0]/n_hithr[0] );
371  if ( meTimeDelta2D_ ) meTimeDelta2D_->Fill( sumTime_hithr[1]/n_hithr[1], sumTime_hithr[0]/n_hithr[0] );
372  }
373 
374  } else {
375 
376  edm::LogWarning("EETimingTask") << EcalRecHitCollection_ << " not available";
377 
378  }
379 
380 }
#define LogDebug(id)
MonitorElement * meTimeDelta2D_
Definition: EETimingTask.h:88
int i
Definition: DBlmapReader.cc:9
long int flag
Definition: mlp_lapack.h:47
edm::InputTag EcalRawDataCollection_
Definition: EETimingTask.h:78
int ix() const
Definition: EEDetId.h:71
MonitorElement * meTimeMap_[18]
Definition: EETimingTask.h:82
MonitorElement * meTimeSummary1D_[2]
Definition: EETimingTask.h:86
std::vector< T >::const_iterator const_iterator
MonitorElement * meTimeSummaryMap_[2]
Definition: EETimingTask.h:87
void Fill(long long x)
static int iSM(const int ism, const EcalSubdetector subdet)
Definition: Numbers.cc:222
void setup(void)
Setup.
MonitorElement * meTimeDelta_
Definition: EETimingTask.h:88
MonitorElement * meTimeAmpliSummary_[2]
Definition: EETimingTask.h:85
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
float energyThreshold_
Definition: EETimingTask.h:76
const T & get() const
Definition: EventSetup.h:55
static const float shiftProf2D
Definition: EETimingTask.h:36
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:136
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
edm::InputTag EcalRecHitCollection_
Definition: EETimingTask.h:79
MonitorElement * meTime_[18]
Definition: EETimingTask.h:81
MonitorElement * meTimeAmpli_[18]
Definition: EETimingTask.h:83
void EETimingTask::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 73 of file EETimingTask.cc.

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

73  {
74 
75  ievt_ = 0;
76 
77  if ( dqmStore_ ) {
78  dqmStore_->setCurrentFolder(prefixME_ + "/EETimingTask");
79  dqmStore_->rmdir(prefixME_ + "/EETimingTask");
80  }
81 
82 }
std::string prefixME_
Definition: EETimingTask.h:70
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2311
DQMStore * dqmStore_
Definition: EETimingTask.h:68
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void EETimingTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 84 of file EETimingTask.cc.

References edm::EventSetup::get(), initCaloGeometry_, Numbers::initGeometry(), mergeRuns_, pGeometry_, and reset().

84  {
85 
86  Numbers::initGeometry(c, true);
87 
88  if( !initCaloGeometry_ ) {
90  initCaloGeometry_ = true;
91  }
92 
93  if ( ! mergeRuns_ ) this->reset();
94 
95 }
edm::ESHandle< CaloGeometry > pGeometry_
Definition: EETimingTask.h:90
bool initCaloGeometry_
Definition: EETimingTask.h:93
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:45
const T & get() const
Definition: EventSetup.h:55
void reset(void)
Reset.
void EETimingTask::cleanup ( void  )
protected

Cleanup.

Definition at line 208 of file EETimingTask.cc.

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

Referenced by endJob().

208  {
209 
210  if ( ! init_ ) return;
211 
212  if ( dqmStore_ ) {
213  dqmStore_->setCurrentFolder(prefixME_ + "/EETimingTask");
214 
215  for ( int i = 0; i < 18; i++ ) {
216  if ( meTime_[i] ) dqmStore_->removeElement( meTime_[i]->getName() );
217  meTime_[i] = 0;
218 
220  meTimeMap_[i] = 0;
221 
223  meTimeAmpli_[i] = 0;
224  }
225 
226  for (int i = 0; i < 2; i++) {
228  meTimeAmpliSummary_[i] = 0;
229 
231  meTimeSummary1D_[i] = 0;
232 
234  meTimeSummaryMap_[i] = 0;
235 
236  }
237 
239  meTimeDelta_ = 0;
240 
242  meTimeDelta2D_ = 0;
243 
244  }
245 
246  init_ = false;
247 
248 }
const std::string & getName(void) const
get name of ME
MonitorElement * meTimeDelta2D_
Definition: EETimingTask.h:88
int i
Definition: DBlmapReader.cc:9
std::string prefixME_
Definition: EETimingTask.h:70
MonitorElement * meTimeMap_[18]
Definition: EETimingTask.h:82
MonitorElement * meTimeSummary1D_[2]
Definition: EETimingTask.h:86
MonitorElement * meTimeSummaryMap_[2]
Definition: EETimingTask.h:87
DQMStore * dqmStore_
Definition: EETimingTask.h:68
void removeElement(const std::string &name)
Definition: DQMStore.cc:2353
MonitorElement * meTimeDelta_
Definition: EETimingTask.h:88
MonitorElement * meTimeAmpliSummary_[2]
Definition: EETimingTask.h:85
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
MonitorElement * meTime_[18]
Definition: EETimingTask.h:81
MonitorElement * meTimeAmpli_[18]
Definition: EETimingTask.h:83
void EETimingTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 250 of file EETimingTask.cc.

References cleanup(), enableCleanup_, and ievt_.

250  {
251 
252  edm::LogInfo("EETimingTask") << "analyzed " << ievt_ << " events";
253 
254  if ( enableCleanup_ ) this->cleanup();
255 
256 }
void cleanup(void)
Cleanup.
bool enableCleanup_
Definition: EETimingTask.h:72
void EETimingTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 97 of file EETimingTask.cc.

97  {
98 
99 }
void EETimingTask::reset ( void  )
protected

Reset.

Definition at line 101 of file EETimingTask.cc.

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

Referenced by beginRun().

101  {
102 
103  for (int i = 0; i < 18; i++) {
104  if ( meTime_[i] ) meTime_[i]->Reset();
105  if ( meTimeMap_[i] ) meTimeMap_[i]->Reset();
106  if ( meTimeAmpli_[i] ) meTimeAmpli_[i]->Reset();
107  }
108 
109  for (int i = 0; i < 2; i++) {
113  }
114 
115  if ( meTimeDelta_ ) meTimeDelta_->Reset();
117 
118 }
MonitorElement * meTimeDelta2D_
Definition: EETimingTask.h:88
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMap_[18]
Definition: EETimingTask.h:82
MonitorElement * meTimeSummary1D_[2]
Definition: EETimingTask.h:86
MonitorElement * meTimeSummaryMap_[2]
Definition: EETimingTask.h:87
MonitorElement * meTimeDelta_
Definition: EETimingTask.h:88
MonitorElement * meTimeAmpliSummary_[2]
Definition: EETimingTask.h:85
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meTime_[18]
Definition: EETimingTask.h:81
MonitorElement * meTimeAmpli_[18]
Definition: EETimingTask.h:83
void EETimingTask::setup ( void  )
protected

Setup.

Definition at line 120 of file EETimingTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile2D(), dqmStore_, i, init_, Numbers::ix0EE(), Numbers::iy0EE(), meTime_, meTimeAmpli_, meTimeAmpliSummary_, meTimeDelta2D_, meTimeDelta_, meTimeMap_, meTimeSummary1D_, meTimeSummaryMap_, mergeVDriftHistosByStation::name, funct::pow(), prefixME_, Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), shiftProf2D, and DQMStore::tag().

Referenced by analyze().

120  {
121 
122  init_ = true;
123 
124  std::string name;
125 
126  //for timing vs amplitude plots
127  const int nbinsE = 25;
128  const float minlogE = -0.5;
129  const float maxlogE = 2.;
130  float binEdgesE[nbinsE + 1];
131  for(int i = 0; i <= nbinsE; i++)
132  binEdgesE[i] = std::pow(10., minlogE + (maxlogE - minlogE) / nbinsE * i);
133 
134  const int nbinsT = 200;
135  const float minT = -50.;
136  const float maxT = 50.;
137  float binEdgesT[nbinsT + 1];
138  for(int i = 0; i <= nbinsT; i++)
139  binEdgesT[i] = minT + (maxT - minT) / nbinsT * i;
140 
141  if ( dqmStore_ ) {
142  dqmStore_->setCurrentFolder(prefixME_ + "/EETimingTask");
143 
144  for (int i = 0; i < 18; i++) {
145  name = "EETMT timing 1D " + Numbers::sEE(i+1);
146  meTime_[i] = dqmStore_->book1D(name, name, 50, -25., 25.);
147  meTime_[i]->setAxisTitle("time (ns)", 1);
148  dqmStore_->tag(meTime_[i], i+1);
149 
150  name = "EETMT timing " + Numbers::sEE(i+1);
151  meTimeMap_[i] = dqmStore_->bookProfile2D(name, name, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50., -20.+shiftProf2D, 20.+shiftProf2D, "s");
152  meTimeMap_[i]->setAxisTitle("ix", 1);
153  if ( i+1 >= 1 && i+1 <= 9 ) meTimeMap_[i]->setAxisTitle("101-ix", 1);
154  meTimeMap_[i]->setAxisTitle("iy", 2);
155  meTimeMap_[i]->setAxisTitle("time (ns)", 3);
156  dqmStore_->tag(meTimeMap_[i], i+1);
157 
158  name = "EETMT timing vs amplitude " + Numbers::sEE(i+1);
159  meTimeAmpli_[i] = dqmStore_->book2D(name, name, nbinsE, binEdgesE, nbinsT, binEdgesT);
160  meTimeAmpli_[i]->setAxisTitle("energy (GeV)", 1);
161  meTimeAmpli_[i]->setAxisTitle("time (ns)", 2);
162  dqmStore_->tag(meTimeAmpli_[i], i+1);
163  }
164 
165  name = "EETMT timing vs amplitude summary EE -";
166  meTimeAmpliSummary_[0] = dqmStore_->book2D(name, name, nbinsE, binEdgesE, nbinsT, binEdgesT);
167  meTimeAmpliSummary_[0]->setAxisTitle("energy (GeV)", 1);
168  meTimeAmpliSummary_[0]->setAxisTitle("time (ns)", 2);
169 
170  name = "EETMT timing vs amplitude summary EE +";
171  meTimeAmpliSummary_[1] = dqmStore_->book2D(name, name, nbinsE, binEdgesE, nbinsT, binEdgesT);
172  meTimeAmpliSummary_[1]->setAxisTitle("energy (GeV)", 1);
173  meTimeAmpliSummary_[1]->setAxisTitle("time (ns)", 2);
174 
175  name = "EETMT timing 1D summary EE -";
176  meTimeSummary1D_[0] = dqmStore_->book1D(name, name, 50, -25., 25.);
177  meTimeSummary1D_[0]->setAxisTitle("time (ns)", 1);
178 
179  name = "EETMT timing 1D summary EE +";
180  meTimeSummary1D_[1] = dqmStore_->book1D(name, name, 50, -25., 25.);
181  meTimeSummary1D_[1]->setAxisTitle("time (ns)", 1);
182 
183  name = "EETMT timing map EE -";
184  meTimeSummaryMap_[0] = dqmStore_->bookProfile2D(name, name, 20, 0., 100., 20, 0., 100., -20.+shiftProf2D, 20.+shiftProf2D, "s");
185  meTimeSummaryMap_[0]->setAxisTitle("ix'", 1);
186  meTimeSummaryMap_[0]->setAxisTitle("101-iy'", 2);
187  meTimeSummaryMap_[0]->setAxisTitle("time (ns)", 3);
188 
189  name = "EETMT timing map EE +";
190  meTimeSummaryMap_[1] = dqmStore_->bookProfile2D(name, name, 20, 0., 100., 20, 0., 100., -20.+shiftProf2D, 20.+shiftProf2D, "s");
191  meTimeSummaryMap_[1]->setAxisTitle("ix'", 1);
192  meTimeSummaryMap_[1]->setAxisTitle("iy'", 2);
193  meTimeSummaryMap_[1]->setAxisTitle("time (ns)", 3);
194 
195  name = "EETMT timing EE+ - EE-";
196  meTimeDelta_ = dqmStore_->book1D(name, name, 100, -3., 3.);
197  meTimeDelta_->setAxisTitle("time (ns)", 1);
198 
199  name = "EETMT timing EE+ vs EE-";
200  meTimeDelta2D_ = dqmStore_->book2D(name, name, 50, -25., 25., 50, -25., 25.);
201  meTimeDelta2D_->setAxisTitle("EE+ average time (ns)", 1);
202  meTimeDelta2D_->setAxisTitle("EE- average time (ns)", 2);
203 
204  }
205 
206 }
MonitorElement * meTimeDelta2D_
Definition: EETimingTask.h:88
int i
Definition: DBlmapReader.cc:9
std::string prefixME_
Definition: EETimingTask.h:70
MonitorElement * meTimeMap_[18]
Definition: EETimingTask.h:82
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
static int iy0EE(const int ism)
Definition: Numbers.cc:987
MonitorElement * meTimeSummary1D_[2]
Definition: EETimingTask.h:86
static std::string sEE(const int ism)
Definition: Numbers.cc:205
MonitorElement * meTimeSummaryMap_[2]
Definition: EETimingTask.h:87
DQMStore * dqmStore_
Definition: EETimingTask.h:68
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1151
MonitorElement * meTimeDelta_
Definition: EETimingTask.h:88
MonitorElement * meTimeAmpliSummary_[2]
Definition: EETimingTask.h:85
static const float shiftProf2D
Definition: EETimingTask.h:36
static int ix0EE(const int ism)
Definition: Numbers.cc:952
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:642
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
MonitorElement * meTime_[18]
Definition: EETimingTask.h:81
MonitorElement * meTimeAmpli_[18]
Definition: EETimingTask.h:83
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:972

Member Data Documentation

DQMStore* EETimingTask::dqmStore_
private

Definition at line 68 of file EETimingTask.h.

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

edm::InputTag EETimingTask::EcalRawDataCollection_
private

Definition at line 78 of file EETimingTask.h.

Referenced by analyze(), and EETimingTask().

edm::InputTag EETimingTask::EcalRecHitCollection_
private

Definition at line 79 of file EETimingTask.h.

Referenced by analyze(), and EETimingTask().

bool EETimingTask::enableCleanup_
private

Definition at line 72 of file EETimingTask.h.

Referenced by EETimingTask(), and endJob().

float EETimingTask::energyThreshold_
private

Definition at line 76 of file EETimingTask.h.

Referenced by analyze(), and EETimingTask().

int EETimingTask::ievt_
private

Definition at line 66 of file EETimingTask.h.

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

bool EETimingTask::init_
private

Definition at line 92 of file EETimingTask.h.

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

bool EETimingTask::initCaloGeometry_
private

Definition at line 93 of file EETimingTask.h.

Referenced by beginRun(), and EETimingTask().

bool EETimingTask::mergeRuns_
private

Definition at line 74 of file EETimingTask.h.

Referenced by beginRun(), and EETimingTask().

MonitorElement* EETimingTask::meTime_[18]
private

Definition at line 81 of file EETimingTask.h.

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

MonitorElement* EETimingTask::meTimeAmpli_[18]
private

Definition at line 83 of file EETimingTask.h.

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

MonitorElement* EETimingTask::meTimeAmpliSummary_[2]
private

Definition at line 85 of file EETimingTask.h.

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

MonitorElement * EETimingTask::meTimeDelta2D_
private

Definition at line 88 of file EETimingTask.h.

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

MonitorElement* EETimingTask::meTimeDelta_
private

Definition at line 88 of file EETimingTask.h.

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

MonitorElement* EETimingTask::meTimeMap_[18]
private

Definition at line 82 of file EETimingTask.h.

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

MonitorElement* EETimingTask::meTimeSummary1D_[2]
private

Definition at line 86 of file EETimingTask.h.

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

MonitorElement* EETimingTask::meTimeSummaryMap_[2]
private

Definition at line 87 of file EETimingTask.h.

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

edm::ESHandle<CaloGeometry> EETimingTask::pGeometry_
private

Definition at line 90 of file EETimingTask.h.

Referenced by beginRun().

std::string EETimingTask::prefixME_
private

Definition at line 70 of file EETimingTask.h.

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

const float EETimingTask::shiftProf2D = 50.
static

Definition at line 36 of file EETimingTask.h.

Referenced by analyze(), and setup().