#include <CSCALCTCrossCLCT.h>
Public Member Functions | |
void | calculateLCTCodes (const CSCALCTDigi &a1, const CSCCLCTDigi &c1, const CSCALCTDigi &a2, const CSCCLCTDigi &c2, unsigned &bestLCTCode, unsigned &secondLCTCode) const |
CSCALCTCrossCLCT (unsigned endcap, unsigned station, unsigned ring, bool ignoreAlctCrossClct, const edm::ParameterSet &conf) | |
bool | doesALCTCrossCLCT (const CSCALCTDigi &a, const CSCCLCTDigi &c) const |
Private Member Functions | |
bool | doesWiregroupCrossHalfStrip (int wg, int keystrip) const |
Private Attributes | |
std::unique_ptr< CSCLUTReader > | code_to_best_lct_ |
std::unique_ptr< CSCLUTReader > | code_to_second_lct_ |
unsigned | endcap_ |
bool | gangedME1a_ |
bool | ignoreAlctCrossClct_ |
std::vector< std::string > | lctCombinationCodeFiles_ |
unsigned | ring_ |
unsigned | station_ |
std::unique_ptr< CSCLUTReader > | wg_cross_max_hs_ME1a_ |
std::unique_ptr< CSCLUTReader > | wg_cross_max_hs_ME1a_ganged_ |
std::unique_ptr< CSCLUTReader > | wg_cross_max_hs_ME1b_ |
std::unique_ptr< CSCLUTReader > | wg_cross_min_hs_ME1a_ |
std::unique_ptr< CSCLUTReader > | wg_cross_min_hs_ME1a_ganged_ |
std::unique_ptr< CSCLUTReader > | wg_cross_min_hs_ME1b_ |
std::vector< std::string > | wgCrossHsME1aFiles_ |
std::vector< std::string > | wgCrossHsME1aGangedFiles_ |
std::vector< std::string > | wgCrossHsME1bFiles_ |
Helper class to check if an ALCT crosses with a CLCT in ME1/1. This check was originally introduced by Vadim Khotilovich in 2010 to improve the quality of the ME1/1 LCTs that are sent to the endcap muon track finder. However, it is the policy of the EMTF group that they would like to receive all LCT information, even if an ME1/1 LCT has no physical crossing half-strips and wiregroups. The EMTF disassembles LCTs into ALCT and CLCT anyway and thus for normal trigger operations this class should not be used. However, in the event that multiple high-quality LCTs are present in ME1/1, this class could be used to trim the unphysical ones. As of writing (April 2021) no plans are in place to implement this feature into the CSC trigger firmware
Definition at line 33 of file CSCALCTCrossCLCT.h.
CSCALCTCrossCLCT::CSCALCTCrossCLCT | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | ring, | ||
bool | ignoreAlctCrossClct, | ||
const edm::ParameterSet & | conf | ||
) |
Definition at line 8 of file CSCALCTCrossCLCT.cc.
References gangedME1a_, edm::ParameterSet::getParameter(), tmbParams::ignoreAlctCrossClct, ignoreAlctCrossClct_, wg_cross_max_hs_ME1a_, wg_cross_max_hs_ME1a_ganged_, wg_cross_max_hs_ME1b_, wg_cross_min_hs_ME1a_, wg_cross_min_hs_ME1a_ganged_, wg_cross_min_hs_ME1b_, wgCrossHsME1aFiles_, wgCrossHsME1aGangedFiles_, and wgCrossHsME1bFiles_.
void CSCALCTCrossCLCT::calculateLCTCodes | ( | const CSCALCTDigi & | a1, |
const CSCCLCTDigi & | c1, | ||
const CSCALCTDigi & | a2, | ||
const CSCCLCTDigi & | c2, | ||
unsigned & | bestLCTCode, | ||
unsigned & | secondLCTCode | ||
) | const |
Definition at line 29 of file CSCALCTCrossCLCT.cc.
References code_to_best_lct_, code_to_second_lct_, and doesALCTCrossCLCT().
bool CSCALCTCrossCLCT::doesALCTCrossCLCT | ( | const CSCALCTDigi & | a, |
const CSCCLCTDigi & | c | ||
) | const |
Definition at line 61 of file CSCALCTCrossCLCT.cc.
References a, c, doesWiregroupCrossHalfStrip(), ignoreAlctCrossClct_, ring_, and station_.
Referenced by calculateLCTCodes().
|
private |
Definition at line 78 of file CSCALCTCrossCLCT.cc.
References endcap_, gangedME1a_, CSCConstants::MAX_HALF_STRIP_ME1A_GANGED, CSCConstants::MAX_HALF_STRIP_ME1A_UNGANGED, CSCConstants::MAX_HALF_STRIP_ME1B, wg_cross_max_hs_ME1a_, wg_cross_max_hs_ME1a_ganged_, wg_cross_max_hs_ME1b_, wg_cross_min_hs_ME1a_, wg_cross_min_hs_ME1a_ganged_, and wg_cross_min_hs_ME1b_.
Referenced by doesALCTCrossCLCT().
|
private |
Definition at line 87 of file CSCALCTCrossCLCT.h.
Referenced by calculateLCTCodes().
|
private |
Definition at line 88 of file CSCALCTCrossCLCT.h.
Referenced by calculateLCTCodes().
|
private |
Definition at line 68 of file CSCALCTCrossCLCT.h.
Referenced by doesWiregroupCrossHalfStrip().
|
private |
Definition at line 71 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 72 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesALCTCrossCLCT().
|
private |
Definition at line 78 of file CSCALCTCrossCLCT.h.
|
private |
Definition at line 70 of file CSCALCTCrossCLCT.h.
Referenced by doesALCTCrossCLCT().
|
private |
Definition at line 69 of file CSCALCTCrossCLCT.h.
Referenced by doesALCTCrossCLCT().
|
private |
Definition at line 82 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 84 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 86 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 81 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 83 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 85 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT(), and doesWiregroupCrossHalfStrip().
|
private |
Definition at line 75 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT().
|
private |
Definition at line 76 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT().
|
private |
Definition at line 77 of file CSCALCTCrossCLCT.h.
Referenced by CSCALCTCrossCLCT().