CMS 3D CMS Logo

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

#include <OccupancyTask.h>

Inheritance diagram for ecaldqm::OccupancyTask:
ecaldqm::DQWorkerTask ecaldqm::DQWorker

Public Member Functions

bool analyze (void const *, Collections) override
 
bool filterRunType (short const *) override
 
 OccupancyTask ()
 
template<typename DigiCollection >
void runOnDigis (DigiCollection const &, Collections)
 
void runOnRawData (EcalRawDataCollection const &)
 
void runOnRecHits (EcalRecHitCollection const &, Collections)
 
void runOnTPDigis (EcalTrigPrimDigiCollection const &)
 
 ~OccupancyTask ()
 
- Public Member Functions inherited from ecaldqm::DQWorkerTask
virtual void addDependencies (DependencySet &)
 
virtual void beginEvent (edm::Event const &, edm::EventSetup const &)
 
 DQWorkerTask ()
 
virtual void endEvent (edm::Event const &, edm::EventSetup const &)
 
virtual bool filterTrigger (edm::TriggerResultsByName const &)
 
void recoverStats ()
 
virtual void setTokens (edm::ConsumesCollector &)
 
void softReset ()
 
virtual ~DQWorkerTask ()
 
- Public Member Functions inherited from ecaldqm::DQWorker
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void bookMEs (DQMStore::IBooker &)
 
 DQWorker ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 
std::string const & getName () const
 
bool onlineMode () const
 
virtual void releaseMEs ()
 
void setEventNumber (edm::EventNumber_t _e)
 
void setLumiNumber (edm::LuminosityBlockNumber_t _l)
 
void setRunNumber (edm::RunNumber_t _r)
 
void setTime (time_t _t)
 
virtual ~DQWorker ()
 

Private Member Functions

void setParams (edm::ParameterSet const &) override
 

Private Attributes

float recHitThreshold_
 
float tpThreshold_
 

Additional Inherited Members

- Public Types inherited from ecaldqm::DQWorkerTask
typedef
EcalDCCHeaderBlock::EcalDCCEventSettings 
EventSettings
 
- Static Public Member Functions inherited from ecaldqm::DQWorkerTask
static void fillDescriptions (edm::ParameterSetDescription &)
 
- Static Public Member Functions inherited from ecaldqm::DQWorker
static void fillDescriptions (edm::ParameterSetDescription &_desc)
 
- Protected Member Functions inherited from ecaldqm::DQWorkerTask
void setME (edm::ParameterSet const &) final
 
- Protected Member Functions inherited from ecaldqm::DQWorker
void initialize (std::string const &_name, edm::ParameterSet const &)
 
void print_ (std::string const &, int=0) const
 
virtual void setSource (edm::ParameterSet const &)
 
void setVerbosity (int _verbosity)
 
- Protected Attributes inherited from ecaldqm::DQWorkerTask
std::set< std::string > resettable_
 
- Protected Attributes inherited from ecaldqm::DQWorker
bool booked_
 
MESetCollection MEs_
 
std::string name_
 
bool onlineMode_
 
Timestamp timestamp_
 
int verbosity_
 
bool willConvertToEDM_
 

Detailed Description

Definition at line 12 of file OccupancyTask.h.

Constructor & Destructor Documentation

ecaldqm::OccupancyTask::OccupancyTask ( )

Definition at line 9 of file OccupancyTask.cc.

9  :
10  DQWorkerTask(),
11  recHitThreshold_(0.),
12  tpThreshold_(0.)
13  {
14  }
ecaldqm::OccupancyTask::~OccupancyTask ( )
inline

Definition at line 15 of file OccupancyTask.h.

15 {}

Member Function Documentation

bool ecaldqm::OccupancyTask::analyze ( void const *  _p,
Collections  _collection 
)
inlineoverridevirtual

Reimplemented from ecaldqm::DQWorkerTask.

Definition at line 33 of file OccupancyTask.h.

References ecaldqm::kEBDigi, ecaldqm::kEBRecHit, ecaldqm::kEcalRawData, ecaldqm::kEEDigi, ecaldqm::kEERecHit, ecaldqm::kTrigPrimDigi, runOnDigis(), runOnRawData(), runOnRecHits(), and runOnTPDigis().

33  {
34  switch(_collection){
35  case kEcalRawData:
36  if(_p) runOnRawData(*static_cast<EcalRawDataCollection const*>(_p));
37  return true;
38  case kEBDigi:
39  if(_p) runOnDigis(*static_cast<EBDigiCollection const*>(_p), _collection);
40  return true;
41  break;
42  case kEEDigi:
43  if(_p) runOnDigis(*static_cast<EEDigiCollection const*>(_p), _collection);
44  return true;
45  break;
46  case kTrigPrimDigi:
47  if(_p) runOnTPDigis(*static_cast<EcalTrigPrimDigiCollection const*>(_p));
48  return true;
49  break;
50  case kEBRecHit:
51  case kEERecHit:
52  if(_p) runOnRecHits(*static_cast<EcalRecHitCollection const*>(_p), _collection);
53  return true;
54  break;
55  default:
56  break;
57  }
58 
59  return false;
60  }
void runOnRecHits(EcalRecHitCollection const &, Collections)
void runOnRawData(EcalRawDataCollection const &)
void runOnDigis(DigiCollection const &, Collections)
void runOnTPDigis(EcalTrigPrimDigiCollection const &)
bool ecaldqm::OccupancyTask::filterRunType ( short const *  _runType)
overridevirtual
template<typename DigiCollection >
void ecaldqm::OccupancyTask::runOnDigis ( DigiCollection const &  _digis,
Collections  _collection 
)

Definition at line 49 of file OccupancyTask.cc.

References EcalBarrel, EcalEndcap, ecaldqm::DQWorker::Timestamp::iLumi, ecaldqm::kEBDigi, ecaldqm::DQWorker::MEs_, and ecaldqm::DQWorker::timestamp_.

Referenced by analyze().

50  {
51  MESet& meDigi(MEs_.at("Digi"));
52  MESet& meDigiProjEta(MEs_.at("DigiProjEta"));
53  MESet& meDigiProjPhi(MEs_.at("DigiProjPhi"));
54  MESet& meDigiAll(MEs_.at("DigiAll"));
55  MESet& meDigiDCC(MEs_.at("DigiDCC"));
56  MESet& meDigi1D(MEs_.at("Digi1D"));
57  MESet& meTrendNDigi(MEs_.at("TrendNDigi"));
58 
59  std::for_each(_digis.begin(), _digis.end(), [&](typename DigiCollection::Digi const& digi){
60  DetId id(digi.id());
61  meDigi.fill(id);
62  meDigiProjEta.fill(id);
63  meDigiProjPhi.fill(id);
64  meDigiAll.fill(id);
65  meDigiDCC.fill(id);
66  });
67 
68  int iSubdet(_collection == kEBDigi ? EcalBarrel : EcalEndcap);
69  meDigi1D.fill(iSubdet, double(_digis.size()));
70  meTrendNDigi.fill(iSubdet, double(timestamp_.iLumi), double(_digis.size()));
71  }
edm::LuminosityBlockNumber_t iLumi
Definition: DQWorker.h:35
Definition: DetId.h:18
Timestamp timestamp_
Definition: DQWorker.h:78
MESetCollection MEs_
Definition: DQWorker.h:75
void ecaldqm::OccupancyTask::runOnRawData ( EcalRawDataCollection const &  _dcchs)

Definition at line 39 of file OccupancyTask.cc.

References edm::SortedCollection< T, SORT >::begin(), edm::SortedCollection< T, SORT >::end(), ecaldqm::MESet::fill(), and ecaldqm::DQWorker::MEs_.

Referenced by analyze().

40  {
41  MESet& meDCC(MEs_.at("DCC"));
42 
43  for(EcalRawDataCollection::const_iterator dcchItr(_dcchs.begin()); dcchItr != _dcchs.end(); ++dcchItr)
44  meDCC.fill(dcchItr->id());
45  }
std::vector< EcalDCCHeaderBlock >::const_iterator const_iterator
MESetCollection MEs_
Definition: DQWorker.h:75
void ecaldqm::OccupancyTask::runOnRecHits ( EcalRecHitCollection const &  _hits,
Collections  _collection 
)

Definition at line 106 of file OccupancyTask.cc.

References edm::SortedCollection< T, SORT >::begin(), EcalBarrel, EcalEndcap, edm::SortedCollection< T, SORT >::end(), hit::id, ecaldqm::DQWorker::Timestamp::iLumi, ecaldqm::kEBRecHit, EcalRecHit::kGood, ecaldqm::DQWorker::MEs_, recHitThreshold_, and ecaldqm::DQWorker::timestamp_.

Referenced by analyze().

107  {
108  MESet& meRecHitAll(MEs_.at("RecHitAll"));
109  MESet& meRecHitProjEta(MEs_.at("RecHitProjEta"));
110  MESet& meRecHitProjPhi(MEs_.at("RecHitProjPhi"));
111  MESet& meRecHitThrAll(MEs_.at("RecHitThrAll"));
112  MESet& meRecHitThrProjEta(MEs_.at("RecHitThrProjEta"));
113  MESet& meRecHitThrProjPhi(MEs_.at("RecHitThrProjPhi"));
114  MESet& meRecHitThr1D(MEs_.at("RecHitThr1D"));
115  MESet& meTrendNRecHitThr(MEs_.at("TrendNRecHitThr"));
116 
117  uint32_t mask(~(0x1 << EcalRecHit::kGood));
118  double nFiltered(0.);
119 
120  std::for_each(_hits.begin(), _hits.end(), [&](EcalRecHitCollection::value_type const& hit){
121  DetId id(hit.id());
122 
123  meRecHitAll.fill(id);
124  meRecHitProjEta.fill(id);
125  meRecHitProjPhi.fill(id);
126 
127  if(!hit.checkFlagMask(mask) && hit.energy() > recHitThreshold_){
128  meRecHitThrProjEta.fill(id);
129  meRecHitThrProjPhi.fill(id);
130  meRecHitThrAll.fill(id);
131  nFiltered += 1.;
132  }
133  });
134 
135  int iSubdet(_collection == kEBRecHit ? EcalBarrel : EcalEndcap);
136  meRecHitThr1D.fill(iSubdet, nFiltered);
137  meTrendNRecHitThr.fill(iSubdet, double(timestamp_.iLumi), nFiltered);
138  }
edm::LuminosityBlockNumber_t iLumi
Definition: DQWorker.h:35
unsigned int id
Definition: DetId.h:18
Timestamp timestamp_
Definition: DQWorker.h:78
MESetCollection MEs_
Definition: DQWorker.h:75
void ecaldqm::OccupancyTask::runOnTPDigis ( EcalTrigPrimDigiCollection const &  _digis)

Definition at line 74 of file OccupancyTask.cc.

References edm::SortedCollection< T, SORT >::begin(), EcalBarrel, EcalEndcap, edm::SortedCollection< T, SORT >::end(), ecaldqm::DQWorker::Timestamp::iLumi, ecaldqm::DQWorker::MEs_, ecaldqm::DQWorker::timestamp_, and tpThreshold_.

Referenced by analyze().

75  {
76  // MESet& meTPDigiAll(MEs_.at("TPDigiAll"));
77  // MESet& meTPDigiProjEta(MEs_.at("TPDigiProjEta"));
78  // MESet& meTPDigiProjPhi(MEs_.at("TPDigiProjPhi"));
79  MESet& meTPDigiThrAll(MEs_.at("TPDigiThrAll"));
80  MESet& meTPDigiThrProjEta(MEs_.at("TPDigiThrProjEta"));
81  MESet& meTPDigiThrProjPhi(MEs_.at("TPDigiThrProjPhi"));
82  MESet& meTrendNTPDigi(MEs_.at("TrendNTPDigi"));
83 
84  double nFilteredEB(0.);
85  double nFilteredEE(0.);
86 
87  std::for_each(_digis.begin(), _digis.end(), [&](EcalTrigPrimDigiCollection::value_type const& digi){
88  EcalTrigTowerDetId const& id(digi.id());
89  // meTPDigiProjEta.fill(id);
90  // meTPDigiProjPhi.fill(id);
91  // meTPDigiAll.fill(id);
92  if(digi.compressedEt() > tpThreshold_){
93  meTPDigiThrProjEta.fill(id);
94  meTPDigiThrProjPhi.fill(id);
95  meTPDigiThrAll.fill(id);
96  if(id.subDet() == EcalBarrel) nFilteredEB += 1.;
97  else nFilteredEE += 1.;
98  }
99  });
100 
101  meTrendNTPDigi.fill(EcalBarrel, double(timestamp_.iLumi), nFilteredEB);
102  meTrendNTPDigi.fill(EcalEndcap, double(timestamp_.iLumi), nFilteredEE);
103  }
edm::LuminosityBlockNumber_t iLumi
Definition: DQWorker.h:35
Timestamp timestamp_
Definition: DQWorker.h:78
MESetCollection MEs_
Definition: DQWorker.h:75
void ecaldqm::OccupancyTask::setParams ( edm::ParameterSet const &  _params)
overrideprivatevirtual

Reimplemented from ecaldqm::DQWorker.

Definition at line 17 of file OccupancyTask.cc.

References edm::ParameterSet::getUntrackedParameter(), recHitThreshold_, and tpThreshold_.

18  {
19  recHitThreshold_ = _params.getUntrackedParameter<double>("recHitThreshold");
20  tpThreshold_ = _params.getUntrackedParameter<double>("tpThreshold");
21  }

Member Data Documentation

float ecaldqm::OccupancyTask::recHitThreshold_
private

Definition at line 29 of file OccupancyTask.h.

Referenced by runOnRecHits(), and setParams().

float ecaldqm::OccupancyTask::tpThreshold_
private

Definition at line 30 of file OccupancyTask.h.

Referenced by runOnTPDigis(), and setParams().