16 #ifndef L1_TRACK_TRIGGER_STUB_ALGO_official_H 17 #define L1_TRACK_TRIGGER_STUB_ALGO_official_H 54 std::vector<double> setBarrelCut,
55 std::vector<std::vector<double>> setRingCut,
56 std::vector<std::vector<double>> setTiltedCut,
57 std::vector<double> setBarrelNTilt,
58 bool aPerformZMatchingPS,
59 bool aPerformZMatching2S)
61 barrelCut = setBarrelCut;
63 tiltedCut = setTiltedCut;
64 barrelNTilt = setBarrelNTilt;
65 mPerformZMatchingPS = aPerformZMatchingPS;
66 mPerformZMatching2S = aPerformZMatching2S;
110 template <
typename T>
131 mPerformZMatchingPS = p.
getParameter<
bool>(
"zMatchingPS");
132 mPerformZMatching2S = p.
getParameter<
bool>(
"zMatching2S");
133 setBarrelCut = p.
getParameter<std::vector<double>>(
"BarrelCut");
134 setBarrelNTilt = p.
getParameter<std::vector<double>>(
"NTiltedRings");
136 std::vector<edm::ParameterSet> vPSet = p.
getParameter<std::vector<edm::ParameterSet>>(
"EndcapCutSet");
137 std::vector<edm::ParameterSet> vPSet2 = p.
getParameter<std::vector<edm::ParameterSet>>(
"TiltedBarrelCutSet");
139 std::vector<edm::ParameterSet>::const_iterator iPSet;
140 for (iPSet = vPSet.begin(); iPSet != vPSet.end(); iPSet++) {
141 setRingCut.push_back(iPSet->getParameter<std::vector<double>>(
"EndcapCut"));
144 for (iPSet = vPSet2.begin(); iPSet != vPSet2.end(); iPSet++) {
145 setTiltedCut.push_back(iPSet->getParameter<std::vector<double>>(
"TiltedCut"));
148 setWhatProduced(
this).setConsumes(mGeomToken).setConsumes(mTopoToken);
156 return std::make_unique<TTStubAlgorithm_official<T>>(&record.
get(mGeomToken),
157 &record.
get(mTopoToken),
Class for "official" algorithm to be used in TTStubBuilder.
std::vector< double > setBarrelNTilt
T getParameter(std::string const &) const
void PatternHitCorrelation(bool &aConfirmation, int &aDisplacement, int &anOffset, float &anHardBend, const TTStub< T > &aTTStub) const override
Matching operations.
Base class for any algorithm to be used in TTStubBuilder.
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > mGeomToken
Data members.
Class to declare the algorithm to the framework.
float degradeBend(bool psModule, int window, int bend) const
~TTStubAlgorithm_official() override
Destructor.
std::unique_ptr< TTStubAlgorithm< T > > produce(const TTStubAlgorithmRecord &record)
Implement the producer.
~ES_TTStubAlgorithm_official() override
Destructor.
bool mPerformZMatchingPS
Z-matching.
std::vector< std::vector< double > > setTiltedCut
ES_TTStubAlgorithm_official(const edm::ParameterSet &p)
Constructor.
std::vector< double > barrelNTilt
std::vector< std::vector< double > > ringCut
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
std::vector< double > setBarrelCut
Windows.
TTStubAlgorithm_official(const TrackerGeometry *const theTrackerGeom, const TrackerTopology *const theTrackerTopo, std::vector< double > setBarrelCut, std::vector< std::vector< double >> setRingCut, std::vector< std::vector< double >> setTiltedCut, std::vector< double > setBarrelNTilt, bool aPerformZMatchingPS, bool aPerformZMatching2S)
Constructor.
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Class to store the TTStubAlgorithm used in TTStubBuilder.
Class to store the L1 Track Trigger stubs.
bool mPerformZMatchingPS
Data members.
std::vector< double > barrelCut
std::vector< std::vector< double > > setRingCut
std::vector< std::vector< double > > tiltedCut
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > mTopoToken