Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-10-27 04:18:01

0001 #ifndef L1Trigger_CSCTriggerPrimitives_CSCBaseboard_h
0002 #define L1Trigger_CSCTriggerPrimitives_CSCBaseboard_h
0003 
0004 #include "DataFormats/MuonDetId/interface/CSCTriggerNumbering.h"
0005 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
0006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0009 #include "DataFormats/CSCDigi/interface/CSCConstants.h"
0010 #include "L1Trigger/CSCTriggerPrimitives/interface/CSCPatternBank.h"
0011 #include "CondFormats/CSCObjects/interface/CSCDBL1TPParameters.h"
0012 
0013 class CSCBaseboard {
0014 public:
0015   /** Normal constructor. */
0016   CSCBaseboard(unsigned endcap,
0017                unsigned station,
0018                unsigned sector,
0019                unsigned subsector,
0020                unsigned chamber,
0021                const edm::ParameterSet& conf);
0022 
0023   /** Constructor for use during testing. */
0024   CSCBaseboard();
0025 
0026   /** Default destructor. */
0027   virtual ~CSCBaseboard() = default;
0028 
0029   void setCSCGeometry(const CSCGeometry* g);
0030 
0031   std::string getCSCName() const { return theCSCName_; }
0032 
0033   CSCDetId id() const { return cscId_; }
0034 
0035 protected:
0036   void checkConfigParameters(unsigned int& var,
0037                              const unsigned int var_max,
0038                              const unsigned int var_def,
0039                              const std::string& var_str);
0040 
0041   /** Chamber id (trigger-type labels). */
0042   const unsigned theEndcap;
0043   const unsigned theStation;
0044   const unsigned theSector;
0045   const unsigned theSubsector;
0046   const unsigned theTrigChamber;
0047   int theRegion;
0048   unsigned theRing;
0049   unsigned theChamber;
0050 
0051   // is this an ME11 chamber?
0052   bool isME11_;
0053   bool isME21_;
0054   bool isME31_;
0055   bool isME41_;
0056   bool isME12_;
0057   bool isME22_;
0058   bool isME32_;
0059   bool isME42_;
0060   bool isME13_;
0061 
0062   // CSCDetId for this chamber
0063   CSCDetId cscId_;
0064 
0065   /** Verbosity level: 0: no print (default).
0066    *                   1: print only ALCTs found.
0067    *                   2: info at every step of the algorithm.
0068    *                   3: add special-purpose prints. */
0069   int infoV;
0070 
0071   const CSCGeometry* cscGeometry_;
0072   const CSCChamber* cscChamber_;
0073 
0074   // Parameters common for all boards
0075   edm::ParameterSet commonParams_;
0076 
0077   // Motherboard parameters:
0078   edm::ParameterSet tmbParams_;
0079 
0080   // ALCT Processor parameters:
0081   edm::ParameterSet alctParams_;
0082 
0083   // CLCT Processor parameters:
0084   edm::ParameterSet clctParams_;
0085 
0086   // Shower Trigger parameters:
0087   edm::ParameterSet showerParams_;
0088 
0089   // chamber name, e.g. ME+1/1/9
0090   std::string theCSCName_;
0091 
0092   /** Flag for Phase2 studies. */
0093   bool runPhase2_;
0094   bool enableAlctPhase2_;
0095 
0096   /** Phase2: special configuration parameters for ME1a treatment */
0097   bool disableME1a_, gangedME1a_;
0098 
0099   /** Phase2: run the upgrade for the Phase-II ME1/1 integrated local trigger */
0100   bool runME11ILT_;
0101 
0102   /** Phase2: run the upgrade for the Phase-II ME2/1 integrated local trigger */
0103   bool runME21ILT_;
0104 
0105   /** Phase2: run the upgrade local trigger (without GEMs) */
0106   bool runME11Up_;
0107   bool runME21Up_;
0108   bool runME31Up_;
0109   bool runME41Up_;
0110 
0111   bool runCCLUT_;
0112   bool runCCLUT_TMB_;
0113   bool runCCLUT_OTMB_;
0114 };
0115 #endif