CMS 3D CMS Logo

MuonPathAnalyzerPerSL.h
Go to the documentation of this file.
1 #ifndef L1Trigger_DTTriggerPhase2_MuonPathAnalyzerPerSL_h
2 #define L1Trigger_DTTriggerPhase2_MuonPathAnalyzerPerSL_h
3 
5 
6 // ===============================================================================
7 // Class declarations
8 // ===============================================================================
9 
11 public:
12  // Constructors and destructor
14  ~MuonPathAnalyzerPerSL() override;
15 
16  // Main methods
17  void initialise(const edm::EventSetup &iEventSetup) override;
18  void run(edm::Event &iEvent,
19  const edm::EventSetup &iEventSetup,
20  MuonPathPtrs &inMpath,
21  std::vector<cmsdt::metaPrimitive> &metaPrimitives) override;
23  const edm::EventSetup &iEventSetup,
24  MuonPathPtrs &inMpath,
25  MuonPathPtrs &outMPath) override{};
26 
27  void finish() override;
28 
29  // Other public methods
30  void setBXTolerance(int t) { bxTolerance_ = t; };
31  int bxTolerance(void) { return bxTolerance_; };
32 
33  void setChiSquareThreshold(float ch2Thr) { chiSquareThreshold_ = ch2Thr; };
34 
37  minQuality_ = q;
38  };
40 
41  bool hasPosRF(int wh, int sec) { return wh > 0 || (wh == 0 && sec % 4 > 1); };
42 
43  // Public attributes
44  DTGeometry const *dtGeo_;
46 
47  //shift
49  std::map<int, float> shiftinfo_;
50 
52 
53 private:
54  // Private methods
55  void analyze(MuonPathPtr &inMPath, std::vector<cmsdt::metaPrimitive> &metaPrimitives);
56 
57  void setCellLayout(const int layout[cmsdt::NUM_LAYERS]);
58  void buildLateralities(void);
60 
61  void evaluatePathQuality(MuonPathPtr &mPath);
62  void evaluateLateralQuality(int latIdx, MuonPathPtr &mPath, cmsdt::LATQ_TYPE *latQuality);
63  void validate(cmsdt::LATERAL_CASES sideComb[3], int layerIndex[3], MuonPathPtr &mPath, cmsdt::PARTIAL_LATQ_TYPE *latq);
64 
65  int eqMainBXTerm(cmsdt::LATERAL_CASES sideComb[2], int layerIdx[2], MuonPathPtr &mPath);
66 
67  int eqMainTerm(cmsdt::LATERAL_CASES sideComb[2], int layerIdx[2], MuonPathPtr &mPath, int bxValue);
68 
69  void lateralCoeficients(cmsdt::LATERAL_CASES sideComb[2], int *coefs);
71 
75  void calcChiSquare(MuonPathPtr &mPath);
76 
79 
80  int omittedHit(int idx);
81 
82  // Private attributes
83 
87 
89 
93  bool debug_;
94  double chi2Th_;
95  double chi2corTh_;
96  double tanPhiTh_;
98  bool use_LSB_;
100  double x_precision_;
101 };
102 
103 #endif
cmsdt::LATQ_TYPE
Definition: constants.h:157
MuonPathAnalyzerPerSL::hasPosRF
bool hasPosRF(int wh, int sec)
Definition: MuonPathAnalyzerPerSL.h:41
DTGeometry
Definition: DTGeometry.h:28
MuonPathAnalyzerPerSL::evaluateLateralQuality
void evaluateLateralQuality(int latIdx, MuonPathPtr &mPath, cmsdt::LATQ_TYPE *latQuality)
Definition: MuonPathAnalyzerPerSL.cc:527
MuonPathAnalyzerPerSL::totalNumValLateralities_
int totalNumValLateralities_
Definition: MuonPathAnalyzerPerSL.h:88
MuonPathAnalyzerPerSL::analyze
void analyze(MuonPathPtr &inMPath, std::vector< cmsdt::metaPrimitive > &metaPrimitives)
Definition: MuonPathAnalyzerPerSL.cc:96
MuonPathAnalyzerPerSL::chi2corTh_
double chi2corTh_
Definition: MuonPathAnalyzerPerSL.h:95
MuonPathAnalyzerPerSL::latQuality_
cmsdt::LATQ_TYPE latQuality_[cmsdt::NUM_LATERALITIES]
Definition: MuonPathAnalyzerPerSL.h:86
MuonPathAnalyzerPerSL::lateralities_
cmsdt::LATERAL_CASES lateralities_[cmsdt::NUM_LATERALITIES][cmsdt::NUM_LAYERS]
Definition: MuonPathAnalyzerPerSL.h:85
MuonPathAnalyzerPerSL::MuonPathAnalyzerPerSL
MuonPathAnalyzerPerSL(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
Definition: MuonPathAnalyzerPerSL.cc:11
MuonPathAnalyzerPerSL::isStraightPath
bool isStraightPath(cmsdt::LATERAL_CASES sideComb[cmsdt::NUM_LAYERS])
Definition: MuonPathAnalyzerPerSL.cc:465
MuonPathAnalyzerPerSL::tanPsi_precision_
double tanPsi_precision_
Definition: MuonPathAnalyzerPerSL.h:99
MuonPathAnalyzerPerSL::eqMainTerm
int eqMainTerm(cmsdt::LATERAL_CASES sideComb[2], int layerIdx[2], MuonPathPtr &mPath, int bxValue)
Definition: MuonPathAnalyzerPerSL.cc:763
cmsdt::PARTIAL_LATQ_TYPE
Definition: constants.h:153
MuonPathAnalyzerPerSL::dtGeo_
const DTGeometry * dtGeo_
Definition: MuonPathAnalyzerPerSL.h:41
data-class-funcs.q
q
Definition: data-class-funcs.py:169
MuonPathAnalyzerPerSL::calcChiSquare
void calcChiSquare(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:1041
MuonPathAnalyzerPerSL::calcTanPhiXPosChamber3Hits
void calcTanPhiXPosChamber3Hits(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:969
MuonPathAnalyzerPerSL::dtGeomH
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomH
Definition: MuonPathAnalyzerPerSL.h:45
MuonPathAnalyzerPerSL::calcTanPhiXPosChamber4Hits
void calcTanPhiXPosChamber4Hits(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:951
charmTagsComputerCvsB_cfi.idx
idx
Definition: charmTagsComputerCvsB_cfi.py:108
makeLayoutFileForGui.layout
layout
Definition: makeLayoutFileForGui.py:67
MuonPathAnalyzerPerSL::initialise
void initialise(const edm::EventSetup &iEventSetup) override
Definition: MuonPathAnalyzerPerSL.cc:59
MuonPathAnalyzerPerSL::calculatePathParameters
void calculatePathParameters(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:852
MuonPathAnalyzerPerSL::minQuality
cmsdt::MP_QUALITY minQuality(void)
Definition: MuonPathAnalyzerPerSL.h:39
MuonPathPtrs
std::vector< MuonPathPtr > MuonPathPtrs
Definition: MuonPath.h:122
cmsdt::LOWQGHOST
Definition: constants.h:41
MuonPathAnalyzerPerSL::setChiSquareThreshold
void setChiSquareThreshold(float ch2Thr)
Definition: MuonPathAnalyzerPerSL.h:33
edm::FileInPath
Definition: FileInPath.h:64
MuonPathAnalyzerPerSL::chosen_sl_
int chosen_sl_
Definition: MuonPathAnalyzerPerSL.h:51
MuonPathAnalyzerPerSL::finish
void finish() override
Definition: MuonPathAnalyzerPerSL.cc:80
MuonPathAnalyzerPerSL::setMinQuality
void setMinQuality(cmsdt::MP_QUALITY q)
Definition: MuonPathAnalyzerPerSL.h:35
cmsdt::LATERAL_CASES
LATERAL_CASES
Definition: constants.h:44
MuonPathAnalyzerPerSL::~MuonPathAnalyzerPerSL
~MuonPathAnalyzerPerSL() override
Definition: MuonPathAnalyzerPerSL.cc:51
cmsdt::NUM_LAYERS
constexpr int NUM_LAYERS
Definition: constants.h:200
cmsdt::MP_QUALITY
MP_QUALITY
Definition: constants.h:41
MuonPathAnalyzerPerSL
Definition: MuonPathAnalyzerPerSL.h:10
MuonPathAnalyzerPerSL::run
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, MuonPathPtrs &outMPath) override
Definition: MuonPathAnalyzerPerSL.h:22
OrderedSet.t
t
Definition: OrderedSet.py:90
MuonPathAnalyzerPerSL::x_precision_
double x_precision_
Definition: MuonPathAnalyzerPerSL.h:100
MuonPathAnalyzerPerSL::evaluatePathQuality
void evaluatePathQuality(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:481
MuonPathAnalyzerPerSL::use_LSB_
bool use_LSB_
Definition: MuonPathAnalyzerPerSL.h:98
MuonPathAnalyzerPerSL::bxTolerance_
int bxTolerance_
Definition: MuonPathAnalyzerPerSL.h:90
edm::ParameterSet
Definition: ParameterSet.h:36
MuonPathAnalyzerPerSL::buildLateralities
void buildLateralities(void)
Definition: MuonPathAnalyzerPerSL.cc:432
MuonPathAnalyzerPerSL::shiftinfo_
std::map< int, float > shiftinfo_
Definition: MuonPathAnalyzerPerSL.h:49
MuonPathAnalyzerPerSL::sameBXValue
bool sameBXValue(cmsdt::PARTIAL_LATQ_TYPE *latq)
Definition: MuonPathAnalyzerPerSL.cc:803
MuonPathAnalyzerPerSL::minQuality_
cmsdt::MP_QUALITY minQuality_
Definition: MuonPathAnalyzerPerSL.h:91
MuonPathAnalyzerPerSL::setBXTolerance
void setBXTolerance(int t)
Definition: MuonPathAnalyzerPerSL.h:30
iEvent
int iEvent
Definition: GenABIO.cc:224
MuonPathAnalyzerPerSL::bxTolerance
int bxTolerance(void)
Definition: MuonPathAnalyzerPerSL.h:31
MuonPathAnalyzerPerSL::calcCellDriftAndXcoor
void calcCellDriftAndXcoor(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:1015
MuonPathAnalyzerPerSL::cellLayout_
int cellLayout_[cmsdt::NUM_LAYERS]
Definition: MuonPathAnalyzerPerSL.h:97
MuonPathAnalyzerPerSL::eqMainBXTerm
int eqMainBXTerm(cmsdt::LATERAL_CASES sideComb[2], int layerIdx[2], MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:750
edm::EventSetup
Definition: EventSetup.h:57
MuonPathAnalyzerPerSL::chiSquareThreshold_
float chiSquareThreshold_
Definition: MuonPathAnalyzerPerSL.h:92
MuonPathAnalyzer
Definition: MuonPathAnalyzer.h:37
MuonPathPtr
std::shared_ptr< MuonPath > MuonPathPtr
Definition: MuonPath.h:121
MuonPathAnalyzerPerSL::chi2Th_
double chi2Th_
Definition: MuonPathAnalyzerPerSL.h:94
cmsdt::NUM_CELL_COMB
constexpr int NUM_CELL_COMB
Definition: constants.h:202
edm::ESGetToken< DTGeometry, MuonGeometryRecord >
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:87
MuonPathAnalyzerPerSL::lateralCoeficients
void lateralCoeficients(cmsdt::LATERAL_CASES sideComb[2], int *coefs)
Definition: MuonPathAnalyzerPerSL.cc:783
MuonPathAnalyzerPerSL::setCellLayout
void setCellLayout(const int layout[cmsdt::NUM_LAYERS])
Definition: MuonPathAnalyzerPerSL.cc:422
cmsdt::NUM_LATERALITIES
constexpr int NUM_LATERALITIES
Definition: constants.h:201
MuonPathAnalyzerPerSL::run
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, std::vector< cmsdt::metaPrimitive > &metaPrimitives) override
Definition: MuonPathAnalyzerPerSL.cc:67
MuonPathAnalyzerPerSL::LAYER_ARRANGEMENTS_
static const int LAYER_ARRANGEMENTS_[cmsdt::NUM_LAYERS][cmsdt::NUM_CELL_COMB]
Definition: MuonPathAnalyzerPerSL.h:84
MuonPathAnalyzer.h
MuonPathAnalyzerPerSL::tanPhiTh_
double tanPhiTh_
Definition: MuonPathAnalyzerPerSL.h:96
MuonPathAnalyzerPerSL::debug_
bool debug_
Definition: MuonPathAnalyzerPerSL.h:93
MuonPathAnalyzerPerSL::shift_filename_
edm::FileInPath shift_filename_
Definition: MuonPathAnalyzerPerSL.h:48
edm::Event
Definition: Event.h:73
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
MuonPathAnalyzerPerSL::omittedHit
int omittedHit(int idx)
Definition: MuonPathAnalyzerPerSL.cc:1063
MuonPathAnalyzerPerSL::validate
void validate(cmsdt::LATERAL_CASES sideComb[3], int layerIndex[3], MuonPathPtr &mPath, cmsdt::PARTIAL_LATQ_TYPE *latq)
Definition: MuonPathAnalyzerPerSL.cc:621
MuonPathAnalyzerPerSL::calcTanPhiXPosChamber
void calcTanPhiXPosChamber(MuonPathPtr &mPath)
Definition: MuonPathAnalyzerPerSL.cc:878
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27