CMS 3D CMS Logo

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

#include <DTTriggerEfficiencyTask.h>

Inheritance diagram for DTTriggerEfficiencyTask:
edm::EDAnalyzer

Public Member Functions

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

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob ()
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
 To reset the MEs. More...
 
void beginRun (const edm::Run &run, const edm::EventSetup &context)
 BeginRun. More...
 
void bookChamberHistos (const DTChamberId &dtCh, std::string histoTag, std::string folder="")
 Book chamber granularity histograms. More...
 
void bookWheelHistos (int wheel, std::string histoTag, std::string folder="")
 Book wheel granularity histograms. More...
 
void endJob (void)
 EndJob. More...
 
bool hasRPCTriggers (const edm::Event &e)
 checks for RPC Triggers More...
 
std::string topFolder (bool source)
 return the top folder 0=DDU 1=DCC More...
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Attributes

std::map< uint32_t, std::map
< std::string, MonitorElement * > > 
chamberHistos
 
DQMStoredbe
 
bool detailedPlots
 
int maxBXDDU
 
int minBXDDU
 
edm::ESHandle< DTGeometrymuonGeom
 
int nevents
 
edm::ParameterSet parameters
 
const L1MuDTChambPhDigiphBestDCC [6][5][13]
 
const DTLocalTriggerphBestDDU [6][5][13]
 
int phCodeBestDCC [6][5][13]
 
int phCodeBestDDU [6][5][13]
 
bool processDCC
 
bool processDDU
 
DTTrigGeomUtilstrigGeomUtils
 
std::map< int, std::map
< std::string, MonitorElement * > > 
wheelHistos
 

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 45 of file DTTriggerEfficiencyTask.h.

Constructor & Destructor Documentation

DTTriggerEfficiencyTask::DTTriggerEfficiencyTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 46 of file DTTriggerEfficiencyTask.cc.

References dbe, LogTrace, cmsCodeRules.cppFunctionSkipper::operator, and parameters.

46  : trigGeomUtils(0) {
47 
48  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: Constructor" << endl;
49 
50  parameters = ps;
52 
53 }
#define LogTrace(id)
DTTriggerEfficiencyTask::~DTTriggerEfficiencyTask ( )
virtual

Destructor.

Definition at line 56 of file DTTriggerEfficiencyTask.cc.

References LogTrace, and nevents.

56  {
57 
58  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: analyzed " << nevents << " events" << endl;
59 
60 }
#define LogTrace(id)

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 135 of file DTTriggerEfficiencyTask.cc.

References DTLocalTrigger::bx(), chamberHistos, DTRecSegment4D::chamberId(), DTTrigGeomUtils::computeSCCoordinates(), detailedPlots, edm::Event::getByLabel(), edm::ParameterSet::getUntrackedParameter(), hasRPCTriggers(), i, ExpressReco_HICollisions_FallBack::inputTagDCC, ExpressReco_HICollisions_FallBack::inputTagDDU, ExpressReco_HICollisions_FallBack::inputTagSEG, j, gen::k, maxBXDDU, minBXDDU, nevents, parameters, phBestDCC, phBestDDU, phCodeBestDCC, phCodeBestDDU, processDCC, processDDU, DetId::rawId(), DTChamberId::sector(), relativeConstraints::station, ExpressReco_HICollisions_FallBack::track, trigGeomUtils, DTChamberId::wheel(), wheelHistos, ExpressReco_HICollisions_FallBack::x, xdir, ExpressReco_HICollisions_FallBack::y, and ydir.

135  {
136 
137  nevents++;
138 
139  if (!hasRPCTriggers(e)) { return; }
140 
144 
145  for (int i=0;i<5;++i){
146  for (int j=0;j<6;++j){
147  for (int k=0;k<13;++k){
148  phCodeBestDCC[j][i][k] = -1;
149  phCodeBestDDU[j][i][k] = -1;
150  }
151  }
152  }
153 
154  // Getting best DCC Stuff
156  e.getByLabel(inputTagDCC,l1DTTPGPh);
157  vector<L1MuDTChambPhDigi>* phTrigs = l1DTTPGPh->getContainer();
158 
159  vector<L1MuDTChambPhDigi>::const_iterator iph = phTrigs->begin();
160  vector<L1MuDTChambPhDigi>::const_iterator iphe = phTrigs->end();
161  for(; iph !=iphe ; ++iph) {
162 
163  int phwheel = iph->whNum();
164  int phsec = iph->scNum() + 1; // DTTF numbering [0:11] -> DT numbering [1:12]
165  int phst = iph->stNum();
166  int phcode = iph->code();
167 
168  if(phcode>phCodeBestDCC[phwheel+3][phst][phsec] && phcode<7) {
169  phCodeBestDCC[phwheel+3][phst][phsec]=phcode;
170  phBestDCC[phwheel+3][phst][phsec] = &(*iph);
171  }
172  }
173 
174  //Getting Best DDU Stuff
176  e.getByLabel(inputTagDDU,trigsDDU);
178 
179  for (detUnitIt=trigsDDU->begin();detUnitIt!=trigsDDU->end();++detUnitIt){
180 
181  const DTChamberId& id = (*detUnitIt).first;
182  const DTLocalTriggerCollection::Range& range = (*detUnitIt).second;
183 
184  int wh = id.wheel();
185  int sec = id.sector();
186  int st = id.station();
187 
188  for (DTLocalTriggerCollection::const_iterator trigIt = range.first; trigIt!=range.second;++trigIt){
189 
190  int quality = trigIt->quality();
191 
192  if(quality>-1 && quality<7 &&
193  quality>phCodeBestDDU[wh+3][st][sec]) {
194  phCodeBestDDU[wh+3][st][sec]=quality;
195  phBestDDU[wh+3][st][sec] = &(*trigIt);
196  }
197  }
198  }
199 
200  //Getting Best Segments
201  vector<const DTRecSegment4D*> best4DSegments;
202 
204  e.getByLabel(inputTagSEG, segments4D);
207 
208  for (chamberId = segments4D->id_begin(); chamberId != segments4D->id_end(); ++chamberId){
209 
210  DTRecSegment4DCollection::range range = segments4D->get(*chamberId);
211  const DTRecSegment4D* tmpBest=0;
212  int tmpHit = 0;
213  int hit = 0;
214 
215  for ( track = range.first; track != range.second; ++track){
216  if( (*track).hasPhi() ) {
217  hit = (*track).phiSegment()->degreesOfFreedom()+2;
218  if ( hit>tmpHit ){
219  tmpBest = &(*track);
220  tmpHit = hit;
221  int sec = (*track).chamberId().sector();
222  if (sec==13){
223  sec=4;
224  }
225  else if (sec==14){
226  sec=10;
227  }
228  }
229  }
230  }
231  if (tmpBest) {
232  best4DSegments.push_back(tmpBest);
233  }
234  }
235 
236  // Plot filling
237  vector<const DTRecSegment4D*>::const_iterator btrack;
238  for ( btrack = best4DSegments.begin(); btrack != best4DSegments.end(); ++btrack ){
239 
240  int wheel = (*btrack)->chamberId().wheel();
241  int station = (*btrack)->chamberId().station();
242  int scsector = 0;
243  float x, xdir, y, ydir;
244  trigGeomUtils->computeSCCoordinates((*btrack),scsector,x,xdir,y,ydir);
245  int nHitsPhi = (*btrack)->phiSegment()->degreesOfFreedom()+2;
246  DTChamberId dtChId(wheel,station,scsector);
247  uint32_t indexCh = dtChId.rawId();
248  map<string, MonitorElement*> &innerChME = chamberHistos[indexCh];
249  map<string, MonitorElement*> &innerWhME = wheelHistos[wheel];
250 
251  if (fabs(xdir)<30. && nHitsPhi>=7){
252 
253  if (processDCC) {
254  int qual = phCodeBestDCC[wheel+3][station][scsector];
255  innerWhME.find("DCC_TrigEffDenum")->second->Fill(scsector,station);
256  if ( qual>=0 && qual<7 ) {
257  innerWhME.find("DCC_TrigEffNum")->second->Fill(scsector,station);
258  if ( qual>=4 ) {
259  innerWhME.find("DCC_TrigEffCorrNum")->second->Fill(scsector,station);
260  // if (qual==7 ) {
261 // innerWhME.find("DCC_TrackPosvsAngleHH")->second->Fill(scsector,wheel);
262 // }
263  }
264  }
265  if (detailedPlots) {
266  innerChME.find("DCC_TrackPosvsAngle")->second->Fill(xdir,x);
267  if ( qual>=0 && qual<7 ) {
268  innerChME.find("DCC_TrackPosvsAngleAnyQual")->second->Fill(xdir,x);
269  if ( qual>=4 ) {
270  innerChME.find("DCC_TrackPosvsAngleCorr")->second->Fill(xdir,x);
271  // if (qual==7 ) {
272 // innerChME.find("DCC_TrackPosvsAngleHH")->second->Fill(xdir,x);
273 // }
274  }
275  }
276  }
277  }
278 
279  if (processDDU) {
280  int qual = phCodeBestDDU[wheel+3][station][scsector];
281  innerWhME.find("DDU_TrigEffDenum")->second->Fill(scsector,station);
282  bool qualOK = qual>=0 && qual<7;
283  int bx = qualOK ? phBestDDU[wheel+3][station][scsector]->bx() : -10;
284  if ( qualOK && bx>=minBXDDU && bx<=maxBXDDU ) {
285  innerWhME.find("DDU_TrigEffNum")->second->Fill(scsector,station);
286  if ( qual>=4 ) {
287  innerWhME.find("DDU_TrigEffCorrNum")->second->Fill(scsector,station);
288  // if (qual==7 ) {
289 // innerWhME.find("DDU_TrackPosvsAngleHH")->second->Fill(scsector,wheel);
290 // }
291  }
292  }
293  if (detailedPlots) {
294  innerChME.find("DDU_TrackPosvsAngle")->second->Fill(xdir,x);
295  if ( qualOK && bx>+minBXDDU && bx<maxBXDDU ) {
296  innerChME.find("DDU_TrackPosvsAngleAnyQual")->second->Fill(xdir,x);
297  if ( qual>=4 ) {
298  innerChME.find("DDU_TrackPosvsAngleCorr")->second->Fill(xdir,x);
299  // if (qual==7 ) {
300 // innerChME.find("DDU_TrackPosvsAngleHH")->second->Fill(xdir,x);
301 // }
302  }
303  }
304  }
305  }
306  }
307  }
308 
309 }
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
std::pair< const_iterator, const_iterator > range
iterator range
Definition: RangeMap.h:52
identifier iterator
Definition: RangeMap.h:138
virtual DTChamberId chamberId() const
The (specific) DetId of the chamber on which the segment resides.
const DTLocalTrigger * phBestDDU[6][5][13]
std::map< int, std::map< std::string, MonitorElement * > > wheelHistos
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:45
int j
Definition: DBlmapReader.cc:9
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
int k[5][pyjets_maxn]
const L1MuDTChambPhDigi * phBestDCC[6][5][13]
bool hasRPCTriggers(const edm::Event &e)
checks for RPC Triggers
std::vector< DigiType >::const_iterator const_iterator
int sector() const
Definition: DTChamberId.h:63
std::pair< const_iterator, const_iterator > Range
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:47
void computeSCCoordinates(const DTRecSegment4D *track, int &scsec, float &x, float &xdir, float &y, float &ydir)
Compute track coordinates with SC sector numbering.
uint16_t bx() const
void DTTriggerEfficiencyTask::beginJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 63 of file DTTriggerEfficiencyTask.cc.

References bookChamberHistos(), bookWheelHistos(), detailedPlots, edm::ParameterSet::getUntrackedParameter(), LogTrace, maxBXDDU, minBXDDU, nevents, parameters, processDCC, and processDDU.

63  {
64 
65  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: BeginJob" << endl;
66 
67  detailedPlots = parameters.getUntrackedParameter<bool>("detailedAnalysis",false);
68  processDCC = parameters.getUntrackedParameter<bool>("processDCC",true);
69  processDDU = parameters.getUntrackedParameter<bool>("processDDU",true);
70  minBXDDU = parameters.getUntrackedParameter<int>("minBXDDU",0);
71  maxBXDDU = parameters.getUntrackedParameter<int>("maxBXDDU",20);
72 
73  nevents = 0;
74 
75  for (int wh=-2;wh<=2;++wh){
76  if (processDCC) {
77  bookWheelHistos(wh,"DCC_TrigEffDenum");
78  bookWheelHistos(wh,"DCC_TrigEffNum");
79  bookWheelHistos(wh,"DCC_TrigEffCorrNum");
80  if (detailedPlots) {
81  for (int stat=1;stat<=4;++stat){
82  for (int sect=1;sect<=12;++sect){
83  DTChamberId dtChId(wh,stat,sect);
84  bookChamberHistos(dtChId,"DCC_TrackPosvsAngleAnyQual","Segment");
85  bookChamberHistos(dtChId,"DCC_TrackPosvsAngleCorr","Segment");
86  bookChamberHistos(dtChId,"DCC_TrackPosvsAngle","Segment");
87  }
88  }
89  }
90  }
91  if (processDDU) {
92  bookWheelHistos(wh,"DDU_TrigEffDenum");
93  bookWheelHistos(wh,"DDU_TrigEffNum");
94  bookWheelHistos(wh,"DDU_TrigEffCorrNum");
95  if (detailedPlots) {
96  for (int stat=1;stat<=4;++stat){
97  for (int sect=1;sect<=12;++sect){
98  DTChamberId dtChId(wh,stat,sect);
99  bookChamberHistos(dtChId,"DDU_TrackPosvsAngleAnyQual","Segment");
100  bookChamberHistos(dtChId,"DDU_TrackPosvsAngleCorr","Segment");
101  bookChamberHistos(dtChId,"DDU_TrackPosvsAngle","Segment");
102  }
103  }
104  }
105  }
106  } // end of wheel loop
107 
108 }
T getUntrackedParameter(std::string const &, T const &) const
void bookChamberHistos(const DTChamberId &dtCh, std::string histoTag, std::string folder="")
Book chamber granularity histograms.
#define LogTrace(id)
void bookWheelHistos(int wheel, std::string histoTag, std::string folder="")
Book wheel granularity histograms.
void DTTriggerEfficiencyTask::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
protectedvirtual

To reset the MEs.

Reimplemented from edm::EDAnalyzer.

Definition at line 119 of file DTTriggerEfficiencyTask.cc.

References LogTrace.

119  {
120 
121  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") <<"[DTTriggerEfficiencyTask]: Begin of LS transition"<<endl;
122 
123 }
#define LogTrace(id)
void DTTriggerEfficiencyTask::beginRun ( const edm::Run run,
const edm::EventSetup context 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 110 of file DTTriggerEfficiencyTask.cc.

References edm::EventSetup::get(), LogTrace, muonGeom, and trigGeomUtils.

110  {
111 
112  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: BeginRun" << endl;
113 
114  context.get<MuonGeometryRecord>().get(muonGeom);
116 
117 }
#define LogTrace(id)
edm::ESHandle< DTGeometry > muonGeom
const T & get() const
Definition: EventSetup.h:55
void DTTriggerEfficiencyTask::bookChamberHistos ( const DTChamberId dtCh,
std::string  histoTag,
std::string  folder = "" 
)
protected

Book chamber granularity histograms.

Definition at line 336 of file DTTriggerEfficiencyTask.cc.

References DQMStore::book2D(), chamberHistos, dbe, LogTrace, max(), min, ExpressReco_HICollisions_FallBack::nbins, DTTrigGeomUtils::phiRange(), DetId::rawId(), mathSSE::return(), DTChamberId::sector(), DQMStore::setCurrentFolder(), DTChamberId::station(), relativeConstraints::station, topFolder(), trigGeomUtils, and DTChamberId::wheel().

Referenced by beginJob().

336  {
337 
338  int wh = dtCh.wheel();
339  int sc = dtCh.sector();
340  int st = dtCh.station();
341  stringstream wheel; wheel << wh;
342  stringstream station; station << st;
343  stringstream sector; sector << sc;
344 
345  string histoType = histoTag.substr(4,histoTag.find("_",4)-4);
346  string hwFolder = topFolder(histoTag.substr(0,3)=="DCC");
347  string bookingFolder = hwFolder + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + "/" + folder;
348  string histoName = histoTag + "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str();
349 
350  dbe->setCurrentFolder(bookingFolder);
351 
352  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: booking " << bookingFolder << "/" << histoName << endl;
353 
354  if( histoType.find("TrackPosvsAngle") == 0 ){
355  float min, max;
356  int nbins;
357  trigGeomUtils->phiRange(dtCh,min,max,nbins,20);
358  string histoLabel = "Position vs Angle (phi)";
359  if (histoType.find("Corr") != string::npos) histoLabel += " for correlated triggers";
360  else if (histoType.find("AnyQual") != string::npos) histoLabel += " for any qual triggers";
361  (chamberHistos[dtCh.rawId()])[histoTag] = dbe->book2D(histoName,histoLabel,12,-30.,30.,nbins,min,max);
362  return ;
363  }
364 
365 }
#define min(a, b)
Definition: mlp_lapack.h:161
return((rh^lh)&mask)
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
std::string topFolder(bool source)
return the top folder 0=DDU 1=DCC
const T & max(const T &a, const T &b)
#define LogTrace(id)
void phiRange(const DTChamberId &id, float &min, float &max, int &nbins, float step=15)
Compute phi range in local chamber coordinates.
int sector() const
Definition: DTChamberId.h:63
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos
int station() const
Return the station number.
Definition: DTChamberId.h:53
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:647
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:47
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void DTTriggerEfficiencyTask::bookWheelHistos ( int  wheel,
std::string  histoTag,
std::string  folder = "" 
)
protected

Book wheel granularity histograms.

Definition at line 367 of file DTTriggerEfficiencyTask.cc.

References DQMStore::book2D(), dbe, LogTrace, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), topFolder(), and wheelHistos.

Referenced by beginJob().

367  {
368 
369  stringstream wh; wh << wheel;
370  string basedir;
371  bool isDCC = hTag.substr(0,3)=="DCC" ;
372  if (hTag.find("Summary") != string::npos ) {
373  basedir = topFolder(isDCC); //Book summary histo outside wheel directories
374  } else {
375  basedir = topFolder(isDCC) + "Wheel" + wh.str() + "/" ;
376 
377  }
378  if (folder != "") {
379  basedir += folder +"/" ;
380  }
381  dbe->setCurrentFolder(basedir);
382 
383  string hname = hTag+ "_W" + wh.str();
384 
385  LogTrace("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: booking "<< basedir << hname;
386 
387 // if (hTag.find("Phi")!= string::npos ||
388 // hTag.find("Summary") != string::npos ){
389  MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,4,1,5);
390 
391  me->setBinLabel(1,"MB1",2);
392  me->setBinLabel(2,"MB2",2);
393  me->setBinLabel(3,"MB3",2);
394  me->setBinLabel(4,"MB4",2);
395  me->setAxisTitle("Sector",1);
396 
397  wheelHistos[wheel][hTag] = me;
398  return;
399  // }
400 
401 // if (hTag.find("Theta") != string::npos){
402 // MonitorElement* me =dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,3,1,4);
403 
404 // me->setBinLabel(1,"MB1",2);
405 // me->setBinLabel(2,"MB2",2);
406 // me->setBinLabel(3,"MB3",2);
407 // me->setAxisTitle("Sector",1);
408 
409 // wheelHistos[wheel][hTag] = me;
410 // return;
411 // }
412 
413 }
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::map< int, std::map< std::string, MonitorElement * > > wheelHistos
std::string topFolder(bool source)
return the top folder 0=DDU 1=DCC
#define LogTrace(id)
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:647
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void DTTriggerEfficiencyTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 126 of file DTTriggerEfficiencyTask.cc.

References LogTrace, and nevents.

126  {
127 
128  LogTrace ("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") << "[DTTriggerEfficiencyTask]: analyzed " << nevents << " events" << endl;
129 // if (processDDU) { dbe->rmdir(topFolder(0)); } // DDU top Folder
130 // if (processDCC) { dbe->rmdir(topFolder(1)); } // DCC top Folder
131 
132 }
#define LogTrace(id)
bool DTTriggerEfficiencyTask::hasRPCTriggers ( const edm::Event e)
protected

checks for RPC Triggers

Definition at line 311 of file DTTriggerEfficiencyTask.cc.

References edm::Event::getByLabel(), edm::ParameterSet::getUntrackedParameter(), ExpressReco_HICollisions_FallBack::inputTagGMT, and parameters.

Referenced by analyze().

311  {
312 
315  e.getByLabel(inputTagGMT,gmtrc);
316 
317  std::vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->getRecords();
318  std::vector<L1MuGMTReadoutRecord>::const_iterator igmtrr;
319 
320  for(igmtrr=gmt_records.begin(); igmtrr!=gmt_records.end(); igmtrr++) {
321  if( (*igmtrr).getBxInEvent()==0 ) {
322  std::vector<L1MuRegionalCand>::const_iterator iter1;
323  std::vector<L1MuRegionalCand> rmc = (*igmtrr).getBrlRPCCands();
324  for(iter1=rmc.begin(); iter1!=rmc.end(); iter1++) {
325  if ( !(*iter1).empty() ) {
326  return true;
327  }
328  }
329  }
330  }
331 
332  return false;
333 
334 }
T getUntrackedParameter(std::string const &, T const &) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
std::string DTTriggerEfficiencyTask::topFolder ( bool  source)
inlineprotected

return the top folder 0=DDU 1=DCC

Definition at line 73 of file DTTriggerEfficiencyTask.h.

Referenced by bookChamberHistos(), and bookWheelHistos().

73 { return source ? "DT/03-LocalTrigger-DCC/" : "DT/04-LocalTrigger-DDU/"; }

Member Data Documentation

std::map<uint32_t, std::map<std::string, MonitorElement*> > DTTriggerEfficiencyTask::chamberHistos
private

Definition at line 100 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and bookChamberHistos().

DQMStore* DTTriggerEfficiencyTask::dbe
private
bool DTTriggerEfficiencyTask::detailedPlots
private

Definition at line 88 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and beginJob().

int DTTriggerEfficiencyTask::maxBXDDU
private

Definition at line 89 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and beginJob().

int DTTriggerEfficiencyTask::minBXDDU
private

Definition at line 89 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and beginJob().

edm::ESHandle<DTGeometry> DTTriggerEfficiencyTask::muonGeom
private

Definition at line 98 of file DTTriggerEfficiencyTask.h.

Referenced by beginRun().

int DTTriggerEfficiencyTask::nevents
private

Definition at line 86 of file DTTriggerEfficiencyTask.h.

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

edm::ParameterSet DTTriggerEfficiencyTask::parameters
private
const L1MuDTChambPhDigi* DTTriggerEfficiencyTask::phBestDCC[6][5][13]
private

Definition at line 93 of file DTTriggerEfficiencyTask.h.

Referenced by analyze().

const DTLocalTrigger* DTTriggerEfficiencyTask::phBestDDU[6][5][13]
private

Definition at line 94 of file DTTriggerEfficiencyTask.h.

Referenced by analyze().

int DTTriggerEfficiencyTask::phCodeBestDCC[6][5][13]
private

Definition at line 91 of file DTTriggerEfficiencyTask.h.

Referenced by analyze().

int DTTriggerEfficiencyTask::phCodeBestDDU[6][5][13]
private

Definition at line 92 of file DTTriggerEfficiencyTask.h.

Referenced by analyze().

bool DTTriggerEfficiencyTask::processDCC
private

Definition at line 88 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and beginJob().

bool DTTriggerEfficiencyTask::processDDU
private

Definition at line 88 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and beginJob().

DTTrigGeomUtils* DTTriggerEfficiencyTask::trigGeomUtils
private

Definition at line 99 of file DTTriggerEfficiencyTask.h.

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

std::map<int, std::map<std::string, MonitorElement*> > DTTriggerEfficiencyTask::wheelHistos
private

Definition at line 101 of file DTTriggerEfficiencyTask.h.

Referenced by analyze(), and bookWheelHistos().