1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCMotherboardME11GEM_h 2 #define L1Trigger_CSCTriggerPrimitives_CSCMotherboardME11GEM_h 26 typedef std::pair<unsigned int, GEMPadDigi>
GEMPadBX;
33 unsigned subsector,
unsigned chamber,
49 std::vector<CSCCorrelatedLCTDigi>
getLCTs1a();
50 std::vector<CSCCorrelatedLCTDigi>
getLCTs1b();
58 std::vector<CSCCorrelatedLCTDigi>
sortLCTsByQuality(std::vector<CSCCorrelatedLCTDigi>);
61 std::vector<CSCCorrelatedLCTDigi>
sortLCTsByGEMDPhi(std::vector<CSCCorrelatedLCTDigi>);
78 std::unique_ptr<CSCCathodeLCTProcessor>
clct1a;
138 int me,
bool oldDataFormat =
false);
140 int me,
bool oldDataFormat =
true);
142 bool hasPad,
bool hasCoPad);
148 bool hasPad,
bool hasCoPad);
bool isPadInOverlap(int roll)
bool dropLowQualityCLCTsNoGEMs_ME1a_
std::map< int, std::pair< int, int > > cscHsToGemPadME1a_
std::vector< CSCCorrelatedLCTDigi > sortLCTsByQuality(int bx, enum ME11Part=ME1B)
static const int lut_wg_vs_hs_me1ag[48][2]
bool dropLowQualityCLCTsNoGEMs_ME1b_
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1a()
std::vector< CSCCorrelatedLCTDigi > readoutLCTs()
void setGEMGeometry(const GEMGeometry *g)
unsigned int encodePatternGEM(const int ptn, const int highPt)
static const double lut_pt_vs_dphi_gemcsc[8][3]
int assignGEMRoll(double eta)
bool runME11ILT_
GEM-CSC integrated local algorithm.
std::map< int, std::pair< int, int > > cscHsToGemPadME1b_
int deltaPad(int hs, int pad)
bool dropLowQualityALCTsNoGEMs_ME1a_
bool buildLCTfromCLCTandGEM_ME1a_
bool match_earliest_alct_me11_only
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
int maxDeltaPadCoPadEven_
unsigned int max_me11_lcts
static const int lut_wg_vs_hs_me1b[48][2]
GEMPadsBX matchingGEMPads(const CSCCLCTDigi &cLCT, const GEMPadsBX &pads=GEMPadsBX(), enum ME11Part=ME1B, bool isCopad=false, bool first=true)
CSCCorrelatedLCTDigi allLCTs1a[MAX_LCT_BINS][15][2]
void correlateLCTsGEM(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT, CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, int me, const GEMPadsBX &pads=GEMPadsBX(), const GEMPadsBX &copads=GEMPadsBX())
std::vector< CSCCLCTDigi > getCLCTs1b()
~CSCMotherboardME11GEM() override
std::map< int, std::pair< double, double > > gemRollToEtaLimits_
std::unique_ptr< GEMCoPadProcessor > coPadProcessor
CSCCorrelatedLCTDigi constructLCTsGEM(const CSCALCTDigi &alct, const GEMPadDigi &gem, int me, bool oldDataFormat=false)
std::vector< CSCCorrelatedLCTDigi > getLCTs1b()
unsigned int tmb_cross_bx_algo
std::pair< unsigned int, GEMPadDigi > GEMPadBX
int deltaRoll(int wg, int roll)
void printGEMTriggerPads(int minBX, int maxBx, bool iscopad=false)
std::vector< CSCCorrelatedLCTDigi > getLCTs1a()
bool match_earliest_clct_me11_only
bool promoteCLCTGEMquality_ME1a_
static const int lut_wg_vs_hs_me1a[48][2]
std::vector< CSCCLCTDigi > getCLCTs1a()
void setCSCGeometry(const CSCGeometry *g)
set CSC and GEM geometries for the matching needs
bool doLCTGhostBustingWithGEMs_
std::vector< CSCALCTDigi > alctV
void retrieveGEMPads(const GEMPadDigiCollection *pads, unsigned id)
const GEMGeometry * gem_g
unsigned int findQualityGEM(const CSCALCTDigi &aLCT, const GEMPadDigi &gem)
std::vector< GEMCoPadDigi > gemCoPadV
bool doesALCTCrossCLCT(CSCALCTDigi &a, CSCCLCTDigi &c, int me)
std::map< int, int > gemPadToCscHsME1a_
std::map< int, std::pair< int, int > > cscWgToGemRoll_
bool promoteALCTGEMquality_
bool buildLCTfromCLCTandGEM_ME1b_
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1b()
bool dropLowQualityALCTsNoGEMs_ME1b_
void createGEMRollEtaLUT(bool isEven)
std::unique_ptr< CSCAnodeLCTProcessor > alct
std::vector< CSCCLCTDigi > clctV1b
std::vector< CSCCLCTDigi > clctV1a
bool promoteCLCTGEMquality_ME1b_
std::unique_ptr< CSCCathodeLCTProcessor > clct
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads)
bool correctLCTtimingWithGEM_
CSCCorrelatedLCTDigi allLCTs1b[MAX_LCT_BINS][15][2]
std::map< int, int > gemPadToCscHsME1b_
bool buildLCTfromALCTandGEM_ME1b_
bool useOldLCTDataFormat_
bool promoteALCTGEMpattern_
std::unique_ptr< CSCCathodeLCTProcessor > clct1a
std::map< int, GEMPadsBX > GEMPads
bool buildLCTfromALCTandGEM_ME1a_
const CSCGeometry * csc_g
std::vector< GEMCoPadDigi > readoutCoPads()
std::vector< CSCALCTDigi > getALCTs1b()
static const double lut_wg_etaMin_etaMax_even[48][3]
static const double lut_wg_etaMin_etaMax_odd[48][3]
std::vector< GEMPadBX > GEMPadsBX
void setConfigParameters(const CSCDBL1TPParameters *conf)
std::vector< CSCCorrelatedLCTDigi > sortLCTsByGEMDPhi(int bx, enum ME11Part=ME1B)