43 produces<std::vector<TrackCandidate> >(
"candidates");
44 produces<CandidateToDuplicate>(
"candidateMap");
50 if(iPara.
exists(
"GBRForestFileName")){
104 std::auto_ptr<std::vector<TrackCandidate> > out_duplicateCandidates(
new std::vector<TrackCandidate>());
108 for(
int i = 0;
i < (int)handle->size();
i++){
112 for(
int j =
i+1;
j < (int)handle->size();
j++){
191 out_duplicateCandidates->push_back(mergedTrack);
193 std::pair<TrackCandidate, std::pair<TrackRef,TrackRef> >
cp(mergedTrack,trackPair);
194 out_candidateMap->push_back(cp);
197 iEvent.
put(out_duplicateCandidates,
"candidates");
198 iEvent.
put(out_candidateMap,
"candidateMap");
T getParameter(std::string const &) const
double maxDQoP_
max difference in q/p between two tracks
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const FreeTrajectoryState & theState() const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
int numberOfLostHits() const
Geom::Phi< T > phi() const
bool exists(std::string const ¶meterName) const
checks if a parameter exists
virtual ~DuplicateTrackMerger()
destructor
TrackMerger merger_
Merger.
double minP_
min p cut value
void produce(edm::Event &, const edm::EventSetup &) override
produce one event
const math::XYZPoint & outerPosition() const
position of the outermost hit
float tmva_outer_nMissingInner_
double maxDCA_
max distance between two tracks at closest approach
void init(const edm::EventSetup &iSetup)
TrackCandidate merge(const reco::Track &inner, const reco::Track &outer) const
Geom::Theta< T > theta() const
const math::XYZPoint & innerPosition() const
position of the innermost hit
float tmva_inner_nMissingOuter_
const HitPattern & trackerExpectedHitsOuter() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers after the last...
std::vector< std::pair< TrackCandidate, std::pair< reco::TrackRef, reco::TrackRef > > > CandidateToDuplicate
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::string dbFileName_
MVA weights file.
edm::ESHandle< MagneticField > magfield_
GBRForest * forest_
MVA discriminator.
double minBDTG_
minBDTG cut value
const HitPattern & trackerExpectedHitsInner() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the fir...
float tmva_ddsz_
MVA input variables.
GlobalVector momentum() const
GlobalPoint position() const
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
T const * product() const
double maxDLambda_
max difference in Lambda between two tracks
double maxDdxy_
max difference in transverse impact parameter between two tracks
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
double minDeltaR3d_
minDeltaR3d cut value
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
int charge() const
track electric charge
double maxDdsz_
max difference in longitudinal impact parameter between two tracks
double maxDPhi_
max difference in phi between two tracks
double minpT_
min pT cut value
double GetClassifier(const float *vector) const
double signedInverseMomentum() const
Power< A, B >::type pow(const A &a, const B &b)
GlobalVector momentum() const
edm::EDGetTokenT< reco::TrackCollection > trackSource_
track input collection