16 #ifndef L1_TRACK_TRIGGER_STUB_ALGO_official_H 17 #define L1_TRACK_TRIGGER_STUB_ALGO_official_H 37 template<
typename T >
48 std::vector< std::vector< double > >
ringCut;
55 std::vector< double > setBarrelCut,
56 std::vector< std::vector< double > > setRingCut,
57 std::vector< std::vector< double > > setTiltedCut,
58 std::vector< double > setBarrelNTilt,
59 bool aPerformZMatchingPS,
bool aPerformZMatching2S )
62 barrelCut = setBarrelCut;
64 tiltedCut = setTiltedCut;
65 barrelNTilt = setBarrelNTilt;
66 mPerformZMatchingPS = aPerformZMatchingPS;
67 mPerformZMatching2S = aPerformZMatching2S;
113 template<
typename T >
134 mPerformZMatchingPS = p.
getParameter<
bool >(
"zMatchingPS");
135 mPerformZMatching2S = p.
getParameter<
bool >(
"zMatching2S");
136 setBarrelCut = p.
getParameter< std::vector< double > >(
"BarrelCut");
137 setBarrelNTilt = p.
getParameter< std::vector< double > >(
"NTiltedRings");
139 std::vector< edm::ParameterSet > vPSet = p.
getParameter< std::vector< edm::ParameterSet > >(
"EndcapCutSet");
140 std::vector< edm::ParameterSet > vPSet2 = p.
getParameter< std::vector< edm::ParameterSet > >(
"TiltedBarrelCutSet");
142 std::vector< edm::ParameterSet >::const_iterator iPSet;
143 for ( iPSet = vPSet.begin(); iPSet != vPSet.end(); iPSet++ )
145 setRingCut.push_back( iPSet->getParameter< std::vector< double > >(
"EndcapCut") );
148 for ( iPSet = vPSet2.begin(); iPSet != vPSet2.end(); iPSet++ )
150 setTiltedCut.push_back( iPSet->getParameter< std::vector< double > >(
"TiltedCut") );
154 setWhatProduced(
this );
171 setBarrelCut, setRingCut, setTiltedCut, setBarrelNTilt,
174 return std::unique_ptr< TTStubAlgorithm< T > >( TTStubAlgo );
Class for "official" algorithm to be used in TTStubBuilder.
void PatternHitCorrelation(bool &aConfirmation, int &aDisplacement, int &anOffset, float &anROffset, float &anHardBend, const TTStub< T > &aTTStub) const override
Matching operations.
T getParameter(std::string const &) const
Base class for any algorithm to be used in TTStubBuilder.
Class to declare the algorithm to the framework.
float degradeBend(bool psModule, int window, int bend) const
~TTStubAlgorithm_official() override
Destructor.
~ES_TTStubAlgorithm_official() override
Destructor.
std::vector< double > setBarrelNTilt
bool mPerformZMatchingPS
Z-matching.
ES_TTStubAlgorithm_official(const edm::ParameterSet &p)
Constructor.
std::vector< std::vector< double > > setRingCut
const DepRecordT getRecord() const
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
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.
std::vector< double > barrelNTilt
Class to store the TTStubAlgorithm used in TTStubBuilder.
Class to store the L1 Track Trigger stubs.
bool mPerformZMatchingPS
Data members.
std::vector< std::vector< double > > ringCut
std::vector< std::vector< double > > setTiltedCut
std::vector< std::vector< double > > tiltedCut
std::unique_ptr< TTStubAlgorithm< T > > produce(const TTStubAlgorithmRecord &record)
Implement the producer.
std::vector< double > barrelCut
T const * product() const
std::vector< double > setBarrelCut
Data members.