22 std::vector<CSCShowerDigi> selected_showers;
25 auto chamber = in_showers.
begin();
26 auto chend = in_showers.
end();
27 for (; chamber != chend; ++chamber) {
28 auto digi = (*chamber).second.first;
29 auto dend = (*chamber).second.second;
30 for (; digi != dend; ++digi) {
35 if (selected_shower >= 0) {
40 if (digi->isValid()) {
41 selected_showers.emplace_back(*digi);
48 const unsigned nLooseInTime(std::count_if(
49 selected_showers.begin(), selected_showers.end(), [](
CSCShowerDigi p) {
return p.isLooseInTime(); }));
50 const unsigned nNominalInTime(std::count_if(
51 selected_showers.begin(), selected_showers.end(), [](
CSCShowerDigi p) {
return p.isNominalInTime(); }));
52 const unsigned nTightInTime(std::count_if(
53 selected_showers.begin(), selected_showers.end(), [](
CSCShowerDigi p) {
return p.isTightInTime(); }));
65 const bool accept(acceptLoose
or acceptNominal
or acceptTight);
69 l1t::RegionalMuonShower out_shower(hasOneNominalInTime,
false, hasTwoLooseInTime,
false, hasOneTightInTime,
false);
80 int tp_endcap = tp_detId.
endcap();
82 int tp_station = tp_detId.
station();
83 int tp_chamber = tp_detId.
chamber();
88 int tp_subsector = (tp_station != 1) ? 0 : ((tp_chamber % 6 > 2) ? 1 : 2);
91 selected =
get_index_shower(tp_endcap, tp_sector, tp_subsector, tp_station, tp_csc_ID);
96 int tp_endcap,
int tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID)
const {
101 if (tp_station == 1) {
102 selected = (tp_subsector - 1) * 9 + (tp_csc_ID - 1);
104 selected = (tp_station)*9 + (tp_csc_ID - 1);
int get_index_shower(int tp_endcap, int tp_sector, int tp_subsector, int tp_station, int tp_csc_ID) const
bool enableTwoLooseShowers_
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< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
uint16_t getCSCID() const
int select_shower(const CSCDetId &, const CSCShowerDigi &) const
bool enableOneNominalShower_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
bool enableOneTightShower_
constexpr int MIN_TRIGSECTOR
void process(const CSCShowerDigiCollection &showers, l1t::RegionalMuonShowerBxCollection &out_showers) const
void configure(const edm::ParameterSet &, int endcap, int sector)
T getParameter(std::string const &) const
int triggerSector() const
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
unsigned nNominalShowers_
constexpr int MAX_TRIGSECTOR
bool is_in_sector_csc(int tp_endcap, int tp_sector) const
DigiRangeIterator end() const
DigiRangeIterator begin() const
void push_back(int bx, T object)
A container for a generic type of digis indexed by some index, implemented with a map<IndexType...