CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
CSCBaseboard Class Reference

#include <CSCBaseboard.h>

Inheritance diagram for CSCBaseboard:
CSCAnodeLCTProcessor CSCCathodeLCTProcessor CSCMotherboard LCTQualityAssignment LCTQualityControl CSCUpgradeAnodeLCTProcessor CSCUpgradeCathodeLCTProcessor CSCGEMMotherboard

Public Member Functions

 CSCBaseboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
 
 CSCBaseboard ()
 
std::string getCSCName () const
 
CSCDetId id () const
 
void setCSCGeometry (const CSCGeometry *g)
 
virtual ~CSCBaseboard ()=default
 

Protected Member Functions

void checkConfigParameters (unsigned int &var, const unsigned int var_max, const unsigned int var_def, const std::string &var_str)
 

Protected Attributes

edm::ParameterSet alctParams_
 
edm::ParameterSet clctParams_
 
edm::ParameterSet commonParams_
 
const CSCChambercscChamber_
 
const CSCGeometrycscGeometry_
 
CSCDetId cscId_
 
bool disableME1a_
 
bool enableAlctPhase2_
 
bool gangedME1a_
 
int infoV
 
bool isME11_
 
bool isME12_
 
bool isME13_
 
bool isME21_
 
bool isME22_
 
bool isME31_
 
bool isME32_
 
bool isME41_
 
bool isME42_
 
bool run3_
 
bool runCCLUT_
 
bool runCCLUT_OTMB_
 
bool runCCLUT_TMB_
 
bool runME11ILT_
 
bool runME11Up_
 
bool runME21ILT_
 
bool runME21Up_
 
bool runME31Up_
 
bool runME41Up_
 
bool runPhase2_
 
edm::ParameterSet showerParams_
 
unsigned theChamber
 
std::string theCSCName_
 
const unsigned theEndcap
 
int theRegion
 
unsigned theRing
 
const unsigned theSector
 
const unsigned theStation
 
const unsigned theSubsector
 
const unsigned theTrigChamber
 
edm::ParameterSet tmbParams_
 

Detailed Description

Definition at line 13 of file CSCBaseboard.h.

Constructor & Destructor Documentation

◆ CSCBaseboard() [1/2]

CSCBaseboard::CSCBaseboard ( unsigned  endcap,
unsigned  station,
unsigned  sector,
unsigned  subsector,
unsigned  chamber,
const edm::ParameterSet conf 
)

Normal constructor.

Definition at line 3 of file CSCBaseboard.cc.

References alctParams_, CSCTriggerNumbering::chamberFromTriggerLabels(), CSCDetId::chamberName(), clctParams_, commonParams_, cscId_, disableME1a_, enableAlctPhase2_, gangedME1a_, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), isME11_, isME12_, isME13_, isME21_, isME22_, isME31_, isME32_, isME41_, isME42_, or, CSCTriggerNumbering::ringFromTriggerLabels(), run3_, runCCLUT_, runCCLUT_OTMB_, runCCLUT_TMB_, runME11ILT_, runME11Up_, runME21ILT_, runME21Up_, runME31Up_, runME41Up_, runPhase2_, showerParams_, theChamber, theCSCName_, theEndcap, theRegion, theRing, theSector, theStation, theSubsector, theTrigChamber, and tmbParams_.

10  theRegion = (theEndcap == 1) ? 1 : -1;
11 
13 
15  isME11_ = (theStation == 1 && theRing == 1);
16  isME21_ = (theStation == 2 && theRing == 1);
17  isME31_ = (theStation == 3 && theRing == 1);
18  isME41_ = (theStation == 4 && theRing == 1);
19  isME12_ = (theStation == 1 && theRing == 2);
20  isME22_ = (theStation == 2 && theRing == 2);
21  isME32_ = (theStation == 3 && theRing == 2);
22  isME42_ = (theStation == 4 && theRing == 2);
23  isME13_ = (theStation == 1 && theRing == 3);
24 
25  const bool hasTMB(isME12_ or isME22_ or isME32_ or isME42_ or isME13_);
26  const bool hasOTMB(isME11_ or isME21_ or isME31_ or isME41_);
28 
29  commonParams_ = conf.getParameter<edm::ParameterSet>("commonParam");
30 
31  showerParams_ = conf.getParameterSet("showerParam");
32 
34 
35  runPhase2_ = commonParams_.getParameter<bool>("runPhase2");
36 
37  enableAlctPhase2_ = commonParams_.getParameter<bool>("enableAlctPhase2");
38 
39  disableME1a_ = commonParams_.getParameter<bool>("disableME1a");
40 
41  gangedME1a_ = commonParams_.getParameter<bool>("gangedME1a");
42 
43  runME11Up_ = commonParams_.getParameter<bool>("runME11Up");
44  runME21Up_ = commonParams_.getParameter<bool>("runME21Up");
45  runME31Up_ = commonParams_.getParameter<bool>("runME31Up");
46  runME41Up_ = commonParams_.getParameter<bool>("runME41Up");
47 
48  runME11ILT_ = commonParams_.getParameter<bool>("runME11ILT");
49  runME21ILT_ = commonParams_.getParameter<bool>("runME21ILT");
50 
51  run3_ = commonParams_.getParameter<bool>("run3");
52  runCCLUT_TMB_ = commonParams_.getParameter<bool>("runCCLUT_TMB");
53  runCCLUT_OTMB_ = commonParams_.getParameter<bool>("runCCLUT_OTMB");
54  // check if CCLUT should be on in this chamber
55  runCCLUT_ = (hasTMB and runCCLUT_TMB_) or (hasOTMB and runCCLUT_OTMB_);
56 
57  // general case
58  tmbParams_ = conf.getParameter<edm::ParameterSet>("tmbPhase1");
59  alctParams_ = conf.getParameter<edm::ParameterSet>("alctPhase1");
60  clctParams_ = conf.getParameter<edm::ParameterSet>("clctPhase1");
61 
62  const bool upgradeME11 = runPhase2_ and isME11_ and runME11Up_;
63  const bool upgradeME21 = runPhase2_ and isME21_ and runME21Up_;
64  const bool upgradeME31 = runPhase2_ and isME31_ and runME31Up_;
65  const bool upgradeME41 = runPhase2_ and isME41_ and runME41Up_;
66  const bool upgradeME = upgradeME11 or upgradeME21 or upgradeME31 or upgradeME41;
67 
68  if (upgradeME) {
69  tmbParams_ = conf.getParameter<edm::ParameterSet>("tmbPhase2");
70  clctParams_ = conf.getParameter<edm::ParameterSet>("clctPhase2");
71  // upgrade ME1/1
72  if (upgradeME11) {
73  // do not run the Phase-2 ALCT for Run-3
74  if (enableAlctPhase2_) {
75  alctParams_ = conf.getParameter<edm::ParameterSet>("alctPhase2");
76  }
77 
78  if (runME11ILT_) {
79  tmbParams_ = conf.getParameter<edm::ParameterSet>("tmbPhase2GE11");
80  clctParams_ = conf.getParameter<edm::ParameterSet>("clctPhase2GEM");
81  }
82  }
83  // upgrade ME2/1
84  if (upgradeME21 and runME21ILT_) {
85  tmbParams_ = conf.getParameter<edm::ParameterSet>("tmbPhase2GE21");
86  clctParams_ = conf.getParameter<edm::ParameterSet>("clctPhase2GEM");
87  alctParams_ = conf.getParameter<edm::ParameterSet>("alctPhase2GEM");
88  }
89  }
90 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const unsigned theEndcap
Definition: CSCBaseboard.h:42
bool enableAlctPhase2_
Definition: CSCBaseboard.h:94
ParameterSet const & getParameterSet(std::string const &) const
bool runCCLUT_TMB_
Definition: CSCBaseboard.h:113
const unsigned theSector
Definition: CSCBaseboard.h:44
bool disableME1a_
Definition: CSCBaseboard.h:97
std::string theCSCName_
Definition: CSCBaseboard.h:90
static int ringFromTriggerLabels(int station, int triggerCSCID)
CSCDetId cscId_
Definition: CSCBaseboard.h:63
bool gangedME1a_
Definition: CSCBaseboard.h:97
const unsigned theTrigChamber
Definition: CSCBaseboard.h:46
std::string chamberName() const
Definition: CSCDetId.cc:92
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
bool runCCLUT_OTMB_
Definition: CSCBaseboard.h:114
unsigned theChamber
Definition: CSCBaseboard.h:49
edm::ParameterSet clctParams_
Definition: CSCBaseboard.h:84
edm::ParameterSet tmbParams_
Definition: CSCBaseboard.h:78
const unsigned theStation
Definition: CSCBaseboard.h:43
edm::ParameterSet alctParams_
Definition: CSCBaseboard.h:81
unsigned theRing
Definition: CSCBaseboard.h:48
edm::ParameterSet commonParams_
Definition: CSCBaseboard.h:75
edm::ParameterSet showerParams_
Definition: CSCBaseboard.h:87
static int chamberFromTriggerLabels(int TriggerSector, int TriggerSubSector, int station, int TriggerCSCID)
const unsigned theSubsector
Definition: CSCBaseboard.h:45

◆ CSCBaseboard() [2/2]

CSCBaseboard::CSCBaseboard ( )

Constructor for use during testing.

Definition at line 92 of file CSCBaseboard.cc.

References disableME1a_, gangedME1a_, runPhase2_, theChamber, and theRing.

93  theRing = 1;
94  theChamber = 1;
95  runPhase2_ = false;
96  disableME1a_ = false;
97  gangedME1a_ = false;
98 }
const unsigned theEndcap
Definition: CSCBaseboard.h:42
const unsigned theSector
Definition: CSCBaseboard.h:44
bool disableME1a_
Definition: CSCBaseboard.h:97
bool gangedME1a_
Definition: CSCBaseboard.h:97
const unsigned theTrigChamber
Definition: CSCBaseboard.h:46
unsigned theChamber
Definition: CSCBaseboard.h:49
const unsigned theStation
Definition: CSCBaseboard.h:43
unsigned theRing
Definition: CSCBaseboard.h:48
const unsigned theSubsector
Definition: CSCBaseboard.h:45

◆ ~CSCBaseboard()

virtual CSCBaseboard::~CSCBaseboard ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ checkConfigParameters()

void CSCBaseboard::checkConfigParameters ( unsigned int &  var,
const unsigned int  var_max,
const unsigned int  var_def,
const std::string &  var_str 
)
protected

Definition at line 105 of file CSCBaseboard.cc.

References trigObjTnPSource_cfi::var.

Referenced by CSCCathodeLCTProcessor::checkConfigParameters(), CSCAnodeLCTProcessor::checkConfigParameters(), and CSCMotherboard::checkConfigParameters().

108  {
109  // Make sure that the parameter values are within the allowed range.
110  if (var >= var_max) {
111  edm::LogError("CSCConfigError") << "+++ Value of " + var_str + ", " << var << ", exceeds max allowed, " << var - 1
112  << " +++\n"
113  << "+++ Try to proceed with the default value, " + var_str + "=" << var_def
114  << " +++\n";
115  var = var_def;
116  }
117 }
Log< level::Error, false > LogError

◆ getCSCName()

std::string CSCBaseboard::getCSCName ( ) const
inline

Definition at line 31 of file CSCBaseboard.h.

References theCSCName_.

Referenced by CSCTriggerPrimitivesBuilder::build().

31 { return theCSCName_; }
std::string theCSCName_
Definition: CSCBaseboard.h:90

◆ id()

CSCDetId CSCBaseboard::id ( void  ) const
inline

Definition at line 33 of file CSCBaseboard.h.

References cscId_.

33 { return cscId_; }
CSCDetId cscId_
Definition: CSCBaseboard.h:63

◆ setCSCGeometry()

void CSCBaseboard::setCSCGeometry ( const CSCGeometry g)

Definition at line 100 of file CSCBaseboard.cc.

References CSCGeometry::chamber(), cscChamber_, cscGeometry_, cscId_, and g.

Referenced by CSCTriggerPrimitivesBuilder::build().

100  {
101  cscGeometry_ = g;
103 }
const CSCChamber * chamber(CSCDetId id) const
Return the chamber corresponding to given DetId.
Definition: CSCGeometry.cc:100
const CSCChamber * cscChamber_
Definition: CSCBaseboard.h:72
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
CSCDetId cscId_
Definition: CSCBaseboard.h:63
const CSCGeometry * cscGeometry_
Definition: CSCBaseboard.h:71

Member Data Documentation

◆ alctParams_

edm::ParameterSet CSCBaseboard::alctParams_
protected

Definition at line 81 of file CSCBaseboard.h.

Referenced by CSCAnodeLCTProcessor::CSCAnodeLCTProcessor(), and CSCBaseboard().

◆ clctParams_

edm::ParameterSet CSCBaseboard::clctParams_
protected

◆ commonParams_

edm::ParameterSet CSCBaseboard::commonParams_
protected

Definition at line 75 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ cscChamber_

const CSCChamber* CSCBaseboard::cscChamber_
protected

◆ cscGeometry_

const CSCGeometry* CSCBaseboard::cscGeometry_
protected

Definition at line 71 of file CSCBaseboard.h.

Referenced by CSCGEMMotherboard::run(), CSCMotherboard::run(), and setCSCGeometry().

◆ cscId_

CSCDetId CSCBaseboard::cscId_
protected

Definition at line 63 of file CSCBaseboard.h.

Referenced by CSCBaseboard(), id(), LCTQualityControl::reportErrors(), and setCSCGeometry().

◆ disableME1a_

bool CSCBaseboard::disableME1a_
protected

Phase2: special configuration parameters for ME1a treatment

Definition at line 97 of file CSCBaseboard.h.

Referenced by CSCBaseboard(), CSCAnodeLCTProcessor::getDigis(), CSCCathodeLCTProcessor::getDigis(), and CSCCathodeLCTProcessor::run().

◆ enableAlctPhase2_

bool CSCBaseboard::enableAlctPhase2_
protected

◆ gangedME1a_

bool CSCBaseboard::gangedME1a_
protected

◆ infoV

int CSCBaseboard::infoV
protected

Verbosity level: 0: no print (default). 1: print only ALCTs found. 2: info at every step of the algorithm. 3: add special-purpose prints.

Definition at line 69 of file CSCBaseboard.h.

Referenced by CSCAnodeLCTProcessor::accelMode(), CSCAnodeLCTProcessor::bestTrackSelector(), CSCCathodeLCTProcessor::checkLocalShower(), CSCCathodeLCTProcessor::constructCLCT(), CSCAnodeLCTProcessor::CSCAnodeLCTProcessor(), CSCCathodeLCTProcessor::CSCCathodeLCTProcessor(), CSCMotherboard::CSCMotherboard(), CSCUpgradeCathodeLCTProcessor::findLCTs(), CSCCathodeLCTProcessor::findLCTs(), CSCAnodeLCTProcessor::getDigis(), CSCCathodeLCTProcessor::getDigis(), CSCUpgradeAnodeLCTProcessor::ghostCancellationLogicOneWire(), CSCAnodeLCTProcessor::ghostCancellationLogicOneWire(), CSCAnodeLCTProcessor::lctSearch(), CSCUpgradeCathodeLCTProcessor::markBusyZone(), CSCUpgradeCathodeLCTProcessor::markPreTriggerZone(), CSCMotherboard::matchALCTCLCT(), CSCGEMMotherboard::matchALCTCLCTGEM(), CSCAnodeLCTProcessor::patternDetection(), CSCCathodeLCTProcessor::patternFinding(), CSCUpgradeCathodeLCTProcessor::preTrigger(), CSCCathodeLCTProcessor::preTrigger(), CSCAnodeLCTProcessor::preTrigger(), CSCCathodeLCTProcessor::pulseExtension(), CSCAnodeLCTProcessor::pulseExtension(), CSCCathodeLCTProcessor::readComparatorDigis(), CSCAnodeLCTProcessor::readoutALCTs(), CSCCathodeLCTProcessor::readoutCLCTs(), CSCMotherboard::readoutLCTs(), CSCAnodeLCTProcessor::readWireDigis(), CSCCathodeLCTProcessor::run(), CSCAnodeLCTProcessor::run(), CSCMotherboard::selectLCTs(), and CSCAnodeLCTProcessor::trigMode().

◆ isME11_

bool CSCBaseboard::isME11_
protected

◆ isME12_

bool CSCBaseboard::isME12_
protected

Definition at line 56 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ isME13_

bool CSCBaseboard::isME13_
protected

Definition at line 60 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ isME21_

bool CSCBaseboard::isME21_
protected

◆ isME22_

bool CSCBaseboard::isME22_
protected

Definition at line 57 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ isME31_

bool CSCBaseboard::isME31_
protected

Definition at line 54 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ isME32_

bool CSCBaseboard::isME32_
protected

Definition at line 58 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ isME41_

bool CSCBaseboard::isME41_
protected

Definition at line 55 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ isME42_

bool CSCBaseboard::isME42_
protected

Definition at line 59 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ run3_

bool CSCBaseboard::run3_
protected

◆ runCCLUT_

bool CSCBaseboard::runCCLUT_
protected

◆ runCCLUT_OTMB_

bool CSCBaseboard::runCCLUT_OTMB_
protected

Definition at line 114 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ runCCLUT_TMB_

bool CSCBaseboard::runCCLUT_TMB_
protected

Definition at line 113 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ runME11ILT_

bool CSCBaseboard::runME11ILT_
protected

◆ runME11Up_

bool CSCBaseboard::runME11Up_
protected

Phase2: run the upgrade local trigger (without GEMs)

Definition at line 106 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ runME21ILT_

bool CSCBaseboard::runME21ILT_
protected

◆ runME21Up_

bool CSCBaseboard::runME21Up_
protected

Definition at line 107 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ runME31Up_

bool CSCBaseboard::runME31Up_
protected

Definition at line 108 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ runME41Up_

bool CSCBaseboard::runME41Up_
protected

Definition at line 109 of file CSCBaseboard.h.

Referenced by CSCBaseboard().

◆ runPhase2_

bool CSCBaseboard::runPhase2_
protected

◆ showerParams_

edm::ParameterSet CSCBaseboard::showerParams_
protected

◆ theChamber

unsigned CSCBaseboard::theChamber
protected

◆ theCSCName_

std::string CSCBaseboard::theCSCName_
protected

◆ theEndcap

const unsigned CSCBaseboard::theEndcap
protected

◆ theRegion

int CSCBaseboard::theRegion
protected

Definition at line 47 of file CSCBaseboard.h.

Referenced by CSCBaseboard(), and CSCGEMMotherboard::CSCGEMMotherboard().

◆ theRing

unsigned CSCBaseboard::theRing
protected

◆ theSector

const unsigned CSCBaseboard::theSector
protected

◆ theStation

const unsigned CSCBaseboard::theStation
protected

◆ theSubsector

const unsigned CSCBaseboard::theSubsector
protected

◆ theTrigChamber

const unsigned CSCBaseboard::theTrigChamber
protected

◆ tmbParams_

edm::ParameterSet CSCBaseboard::tmbParams_
protected