Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:55

0001 #ifndef L1TMuonEndCap_VersionControl_h
0002 #define L1TMuonEndCap_VersionControl_h
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 
0006 class SectorProcessor;
0007 
0008 class VersionControl {
0009 public:
0010   explicit VersionControl(const edm::ParameterSet& iConfig);
0011   ~VersionControl();
0012 
0013   // Modify the configurables based on FW version
0014   void configure_by_fw_version(unsigned fw_version);
0015 
0016   // Getters
0017   const edm::ParameterSet& getConfig() const { return config_; }
0018   int verbose() const { return verbose_; }
0019   bool useO2O() const { return useO2O_; }
0020   std::string era() const { return era_; }
0021 
0022   friend class SectorProcessor;  // allow access to private memebers
0023 
0024 private:
0025   // All the configurables from python/simEmtfDigis_cfi.py must be visible to this class, except InputTags.
0026   const edm::ParameterSet config_;
0027 
0028   int verbose_;
0029   bool useO2O_;
0030   std::string era_;
0031 
0032   // Trigger primitives & BX settings
0033   bool useDT_, useCSC_, useRPC_, useIRPC_, useCPPF_, useGEM_, useME0_;
0034   int minBX_, maxBX_, bxWindow_, bxShiftCSC_, bxShiftRPC_, bxShiftGEM_, bxShiftME0_;
0035 
0036   // For primitive conversion
0037   std::vector<int> zoneBoundaries_;
0038   int zoneOverlap_;
0039   bool includeNeighbor_, duplicateTheta_, fixZonePhi_, useNewZones_, fixME11Edges_, useRun3CCLUT_OTMB_,
0040       useRun3CCLUT_TMB_;
0041 
0042   // For pattern recognition
0043   std::vector<std::string> pattDefinitions_, symPattDefinitions_;
0044   bool useSymPatterns_;
0045 
0046   // For track building
0047   int thetaWindow_, thetaWindowZone0_;
0048   bool useSingleHits_;
0049   bool bugSt2PhDiff_, bugME11Dupes_, bugAmbigThetaWin_, twoStationSameBX_;
0050 
0051   // For ghost cancellation
0052   int maxRoadsPerZone_, maxTracks_;
0053   bool useSecondEarliest_;
0054   bool bugSameSectorPt0_;
0055 
0056   // For pt assignment
0057   bool readPtLUTFile_, fixMode15HighPt_;
0058   bool bug9BitDPhi_, bugMode7CLCT_, bugNegPt_, bugGMTPhi_, promoteMode7_;
0059   int modeQualVer_;
0060   std::string pbFileName_;
0061 };
0062 
0063 #endif