17 #ifndef L1_TRACK_TRIGGER_STUB_BUILDER_H
18 #define L1_TRACK_TRIGGER_STUB_BUILDER_H
73 const std::pair<unsigned int, double>& right);
77 template <
typename TT>
81 outputFiller.
resize(inputVec.size());
123 template <
typename T>
127 tTopoToken = esConsumes<TrackerTopology, TrackerTopologyRcd>();
128 tGeomToken = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
130 ForbidMultipleStubs = iConfig.
getParameter<
bool>(
"OnlyOnePerInputCluster");
132 maxStubs_2S = iConfig.
getParameter<uint32_t>(
"CBClimit");
133 maxStubs_PS = iConfig.
getParameter<uint32_t>(
"MPAlimit");
134 maxStubs_2S_CIC_5 = iConfig.
getParameter<uint32_t>(
"SS5GCIClimit");
135 maxStubs_PS_CIC_5 = iConfig.
getParameter<uint32_t>(
"PS5GCIClimit");
136 maxStubs_PS_CIC_10 = iConfig.
getParameter<uint32_t>(
"PS10GCIClimit");
137 unsigned int tedd1_max10Gring = iConfig.
getParameter<uint32_t>(
"TEDD1Max10GRing");
138 unsigned int tedd2_max10Gring = iConfig.
getParameter<uint32_t>(
"TEDD2Max10GRing");
139 high_rate_max_layer = iConfig.
getParameter<uint32_t>(
"BarrelMax10GLay");
141 produces<edmNew::DetSetVector<TTCluster<T>>>(
"ClusterAccepted");
142 produces<edmNew::DetSetVector<TTCluster<T>>>(
"ClusterRejected");
143 produces<edmNew::DetSetVector<TTStub<T>>>(
"StubAccepted");
144 produces<edmNew::DetSetVector<TTStub<T>>>(
"StubRejected");
146 high_rate_max_ring[0] = tedd1_max10Gring;
147 high_rate_max_ring[1] = tedd1_max10Gring;
148 high_rate_max_ring[2] = tedd2_max10Gring;
149 high_rate_max_ring[3] = tedd2_max10Gring;
150 high_rate_max_ring[4] = tedd2_max10Gring;
154 template <
typename T>
158 template <
typename T>
161 theStubFindingAlgoHandle = iSetup.
getHandle(ttStubToken);
163 moduleStubs_CIC.clear();
164 moduleStubs_MPA.clear();
165 moduleStubs_CBC.clear();
169 template <
typename T>
173 template <
typename T>
175 const std::pair<unsigned int, double>& right) {
180 template <
typename T>
unsigned int maxStubs_PS_CIC_10
unsigned int high_rate_max_layer
edm::ESHandle< TTStubAlgorithm< T > > theStubFindingAlgoHandle
Data members.
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
void updateStubs(const edm::OrphanHandle< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ >>> &clusterHandle, const edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ >> &inputEDstubs, edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ >> &outputEDstubs) const
Update output stubs with Refs to cluster collection that is associated to stubs.
unsigned int high_rate_max_ring[5]
~TTStubBuilder() override
Destructor;.
static bool SortStubBendPairs(const std::pair< unsigned int, double > &left, const std::pair< unsigned int, double > &right)
Sort routine for stub ordering.
int ievt
Temporary storage for stubs over several events for truncation use.
static bool SortStubsBend(const TTStub< T > &left, const TTStub< T > &right)
Analogous sorting routine directly from stubs.
unsigned int maxStubs_2S_CIC_5
Abs< T >::type abs(const T &t)
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< T > > > clustersToken
Class to store the TTStubAlgorithm used in TTStubBuilder.
Class to store the L1 Track Trigger stubs.
std::unordered_map< int, int > moduleStubs_MPA
std::unordered_map< int, int > moduleStubs_CBC
TTStubBuilder(const edm::ParameterSet &iConfig)
Constructor.
void fill(edmNew::DetSetVector< TT > &outputEP, const DetId &detId, const std::vector< TT > &inputVec) const
Fill output cluster & stub collections.
NOTE: this is needed even if it seems not.
T getParameter(std::string const &) const
double bendFE() const
BendFE(): In FULL-STRIP units from FE! Rename of getTriggerBend()
unsigned int maxStubs_PS_CIC_5
std::unordered_map< int, std::vector< TTStub< Ref_Phase2TrackerDigi_ > > > moduleStubs_CIC
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
bool applyFE
FE truncation.
edm::ESGetToken< TTStubAlgorithm< T >, TTStubAlgorithmRecord > ttStubToken
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomToken
void endRun(const edm::Run &run, const edm::EventSetup &iSetup) override
End run.
Plugin to load the Stub finding algorithm and produce the collection of Stubs that goes in the event ...
void beginRun(const edm::Run &run, const edm::EventSetup &iSetup) override
Mandatory methods.