1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCUpgradeMotherboardLUTGenerator_h 2 #define L1Trigger_CSCTriggerPrimitives_CSCUpgradeMotherboardLUTGenerator_h 17 const int region(csc_id.
zendcap());
20 const int csc_trig_chid((3*(csc_trig_sect-1)+csc_trig_id)%18 +1);
21 const int rpc_trig_sect((csc_trig_chid-1)/3+1);
22 const int rpc_trig_subsect((csc_trig_chid-1)%3+1);
23 return RPCDetId(region,1,csc_id.
station(),rpc_trig_sect,1,rpc_trig_subsect,0);
40 void generateLUTs(
unsigned e,
unsigned s,
unsigned se,
unsigned sb,
unsigned c)
const;
41 void generateLUTsME11(
unsigned e,
unsigned se,
unsigned sb,
unsigned c)
const;
42 void generateLUTsME21(
unsigned e,
unsigned se,
unsigned sb,
unsigned c)
const;
43 void generateLUTsME3141(
unsigned e,
unsigned s,
unsigned se,
unsigned sb,
unsigned c)
const;
44 int assignRoll(
const std::vector<std::pair<double,double> >&,
double eta)
const;
55 const std::vector<std::pair<double,double> >&,
56 std::vector<std::pair<int,int> >&)
const;
79 std::ostream &operator <<(std::ostream &os, const std::vector<std::pair<T,T> >&
v)
82 os <<
"{" << std::endl;
83 for(
const auto&
p :
v) {
84 os <<
" {" <<
p.first <<
", " <<
p.second <<
"}, ";
85 if (i%8==0) os << std::endl;
88 os <<
"}" << std::endl;
95 std::ostream &operator <<(std::ostream &os, const std::vector<T>&
v)
98 os <<
"{" << std::endl;
99 for(
const auto&
p :
v) {
100 os <<
" " <<
p <<
",";
101 if (i%10==0) os << std::endl;
104 os <<
"}" << std::endl;
const CSCGeometry * csc_g
void cscHsToRpcStripLUT(const CSCLayer *, const RPCRoll *, int minH, int maxH, std::vector< std::pair< int, int > > &) const
void generateLUTsME3141(unsigned e, unsigned s, unsigned se, unsigned sb, unsigned c) const
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 assignRoll(const std::vector< std::pair< double, double > > &, double eta) const
void cscHsToGemPadLUT(const CSCLayer *, const GEMEtaPartition *, int minH, int maxH, std::vector< std::pair< int, int > > &) const
void gemRollToEtaLimitsLUT(const GEMChamber *c, std::vector< std::pair< double, double > > &) const
void rpcStripToCscHsLUT(const CSCLayer *, const RPCRoll *, std::vector< int > &) const
void cscWgToEtaLimitsLUT(const CSCLayer *, std::vector< std::pair< double, double > > &) const
void setCSCGeometry(const CSCGeometry *g)
set CSC and GEM geometries for the matching needs
~CSCUpgradeMotherboardLUTGenerator()
static int triggerCscIdFromLabels(int station, int ring, int chamber)
const RPCGeometry * rpc_g
short int zendcap() const
void rpcRollToEtaLimitsLUT(const RPCChamber *c, std::vector< std::pair< double, double > > &) const
void cscWgToRollLUT(const std::vector< std::pair< double, double > > &, const std::vector< std::pair< double, double > > &, std::vector< std::pair< int, int > > &) const
static int triggerSectorFromLabels(int station, int ring, int chamber)
void generateLUTsME21(unsigned e, unsigned se, unsigned sb, unsigned c) const
void setRPCGeometry(const RPCGeometry *g)
CSCUpgradeMotherboardLUTGenerator()
void generateLUTs(unsigned e, unsigned s, unsigned se, unsigned sb, unsigned c) const
generate and print LUT
const GEMGeometry * gem_g
void setGEMGeometry(const GEMGeometry *g)
void generateLUTsME11(unsigned e, unsigned se, unsigned sb, unsigned c) const
void gemPadToCscHsLUT(const CSCLayer *, const GEMEtaPartition *, std::vector< int > &) const