CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Attributes
reco::modules::DuplicateTrackMerger Class Reference

#include <DuplicateTrackMerger.h>

Inheritance diagram for reco::modules::DuplicateTrackMerger:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef std::vector< std::pair
< TrackCandidate, std::pair
< reco::TrackRef,
reco::TrackRef > > > 
CandidateToDuplicate
 
- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 

Public Member Functions

 DuplicateTrackMerger (const edm::ParameterSet &iPara)
 constructor More...
 
virtual ~DuplicateTrackMerger ()
 destructor More...
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void produce (edm::Event &, const edm::EventSetup &) override
 produce one event More...
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Attributes

std::string dbFileName_
 MVA weights file. More...
 
GBRForestforest_
 MVA discriminator. More...
 
std::string forestLabel_
 
float * gbrVals_
 
edm::ESHandle< MagneticFieldmagfield_
 
double maxDCA_
 max distance between two tracks at closest approach More...
 
double maxDdsz_
 max difference in longitudinal impact parameter between two tracks More...
 
double maxDdxy_
 max difference in transverse impact parameter between two tracks More...
 
double maxDLambda_
 max difference in Lambda between two tracks More...
 
double maxDPhi_
 max difference in phi between two tracks More...
 
double maxDQoP_
 max difference in q/p between two tracks More...
 
TrackMerger merger_
 Merger. More...
 
double minBDTG_
 minBDTG cut value More...
 
double minDeltaR3d_
 minDeltaR3d cut value More...
 
double minP_
 min p cut value More...
 
double minpT_
 min pT cut value More...
 
float tmva_d3dr_
 
float tmva_d3dz_
 
float tmva_ddsz_
 MVA input variables. More...
 
float tmva_ddxy_
 
float tmva_dlambda_
 
float tmva_dphi_
 
float tmva_dqoverp_
 
float tmva_inner_nMissingOuter_
 
float tmva_outer_nMissingInner_
 
edm::EDGetTokenT
< reco::TrackCollection
trackSource_
 track input collection More...
 
bool useForestFromDB_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 34 of file DuplicateTrackMerger.h.

Member Typedef Documentation

Definition at line 41 of file DuplicateTrackMerger.h.

Constructor & Destructor Documentation

DuplicateTrackMerger::DuplicateTrackMerger ( const edm::ParameterSet iPara)
explicit

constructor

Definition at line 16 of file DuplicateTrackMerger.cc.

References dbFileName_, edm::ParameterSet::exists(), forest_, forestLabel_, gbrVals_, edm::ParameterSet::getParameter(), maxDCA_, maxDdsz_, maxDdxy_, maxDLambda_, maxDPhi_, maxDQoP_, minBDTG_, minDeltaR3d_, minP_, minpT_, AlCaHLTBitMon_QueryRunRegistry::string, trackSource_, and useForestFromDB_.

16  : merger_(iPara)
17 {
18  forestLabel_ = "MVADuplicate";
19  useForestFromDB_ = true;
20 
21  minDeltaR3d_ = -4.0;
22  minBDTG_ = -0.96;
23  minpT_ = 0.2;
24  minP_ = 0.4;
25  maxDCA_ = 30.0;
26  maxDPhi_ = 0.30;
27  maxDLambda_ = 0.30;
28  maxDdsz_ = 10.0;
29  maxDdxy_ = 10.0;
30  maxDQoP_ = 0.25;
31  if(iPara.exists("minpT"))minpT_ = iPara.getParameter<double>("minpT");
32  if(iPara.exists("minP"))minP_ = iPara.getParameter<double>("minP");
33  if(iPara.exists("maxDCA"))maxDCA_ = iPara.getParameter<double>("maxDCA");
34  if(iPara.exists("maxDPhi"))maxDPhi_ = iPara.getParameter<double>("maxDPhi");
35  if(iPara.exists("maxDLambda"))maxDLambda_ = iPara.getParameter<double>("maxDLambda");
36  if(iPara.exists("maxDdsz"))maxDdsz_ = iPara.getParameter<double>("maxDdsz");
37  if(iPara.exists("maxDdxy"))maxDdxy_ = iPara.getParameter<double>("maxDdxy");
38  if(iPara.exists("maxDQoP"))maxDQoP_ = iPara.getParameter<double>("maxDQoP");
39  if(iPara.exists("source"))trackSource_ = consumes<reco::TrackCollection>(iPara.getParameter<edm::InputTag>("source"));
40  if(iPara.exists("minDeltaR3d"))minDeltaR3d_ = iPara.getParameter<double>("minDeltaR3d");
41  if(iPara.exists("minBDTG"))minBDTG_ = iPara.getParameter<double>("minBDTG");
42 
43  produces<std::vector<TrackCandidate> >("candidates");
44  produces<CandidateToDuplicate>("candidateMap");
45 
46  forest_ = 0;
47  gbrVals_ = new float[9];
48  dbFileName_ = "";
49  if(iPara.exists("GBRForestLabel"))forestLabel_ = iPara.getParameter<std::string>("GBRForestLabel");
50  if(iPara.exists("GBRForestFileName")){
51  dbFileName_ = iPara.getParameter<std::string>("GBRForestFileName");
52  useForestFromDB_ = false;
53  }
54 
55  /*
56  tmvaReader_ = new TMVA::Reader("!Color:Silent");
57  tmvaReader_->AddVariable("ddsz",&tmva_ddsz_);
58  tmvaReader_->AddVariable("ddxy",&tmva_ddxy_);
59  tmvaReader_->AddVariable("dphi",&tmva_dphi_);
60  tmvaReader_->AddVariable("dlambda",&tmva_dlambda_);
61  tmvaReader_->AddVariable("dqoverp",&tmva_dqoverp_);
62  tmvaReader_->AddVariable("delta3d_r",&tmva_d3dr_);
63  tmvaReader_->AddVariable("delta3d_z",&tmva_d3dz_);
64  tmvaReader_->AddVariable("outer_nMissingInner",&tmva_outer_nMissingInner_);
65  tmvaReader_->AddVariable("inner_nMissingOuter",&tmva_inner_nMissingOuter_);
66  tmvaReader_->BookMVA("BDTG",mvaFilePath);
67  */
68 
69 }
T getParameter(std::string const &) const
double maxDQoP_
max difference in q/p between two tracks
bool exists(std::string const &parameterName) const
checks if a parameter exists
double maxDCA_
max distance between two tracks at closest approach
std::string dbFileName_
MVA weights file.
GBRForest * forest_
MVA discriminator.
double maxDLambda_
max difference in Lambda between two tracks
double maxDdxy_
max difference in transverse impact parameter between two tracks
double minDeltaR3d_
minDeltaR3d cut value
double maxDdsz_
max difference in longitudinal impact parameter between two tracks
double maxDPhi_
max difference in phi between two tracks
edm::EDGetTokenT< reco::TrackCollection > trackSource_
track input collection
DuplicateTrackMerger::~DuplicateTrackMerger ( )
virtual

destructor

Definition at line 71 of file DuplicateTrackMerger.cc.

References forest_, gbrVals_, and useForestFromDB_.

72 {
73 
74  if(gbrVals_)delete [] gbrVals_;
75  if(!useForestFromDB_ && forest_) delete forest_;
76  /* no op */
77 
78 }
GBRForest * forest_
MVA discriminator.

Member Function Documentation

void DuplicateTrackMerger::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

produce one event

Implements edm::stream::EDProducerBase.

Definition at line 80 of file DuplicateTrackMerger.cc.

References reco::TrackBase::charge(), CommonMethods::cp(), dbFileName_, forest_, forestLabel_, gbrVals_, edm::EventSetup::get(), edm::Event::getByToken(), GBRForest::GetClassifier(), patZpeak::handle, i, TrackMerger::init(), trajectoryStateTransform::innerFreeState(), reco::Track::innerMomentum(), reco::Track::innerPosition(), TrajectoryStateClosestToPoint::isValid(), j, M_PI, PV3DBase< T, PVType, FrameType >::mag(), mag(), magfield_, maxDCA_, maxDdsz_, maxDdxy_, maxDLambda_, maxDPhi_, maxDQoP_, TrackMerger::merge(), merger_, minBDTG_, minDeltaR3d_, minP_, minpT_, FreeTrajectoryState::momentum(), TrajectoryStateClosestToPoint::momentum(), reco::HitPattern::numberOfLostHits(), trajectoryStateTransform::outerFreeState(), reco::Track::outerPosition(), PV3DBase< T, PVType, FrameType >::phi(), FreeTrajectoryState::position(), funct::pow(), edm::ESHandle< class >::product(), TrajectoryStateClosestToPoint::pt(), edm::Event::put(), FreeTrajectoryState::signedInverseMomentum(), mathSSE::sqrt(), reco::t2, TrajectoryStateClosestToPoint::theState(), PV3DBase< T, PVType, FrameType >::theta(), tmva_d3dr_, tmva_d3dz_, tmva_ddsz_, tmva_ddxy_, tmva_dlambda_, tmva_dphi_, tmva_dqoverp_, tmva_inner_nMissingOuter_, tmva_outer_nMissingInner_, reco::TrackBase::trackerExpectedHitsInner(), reco::TrackBase::trackerExpectedHitsOuter(), trackSource_, useForestFromDB_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

81 {
82 
83  merger_.init(iSetup);
84 
85  if(!forest_){
86  if(useForestFromDB_){
87  edm::ESHandle<GBRForest> forestHandle;
88  iSetup.get<GBRWrapperRcd>().get(forestLabel_,forestHandle);
89  forest_ = (GBRForest*)forestHandle.product();
90  }else{
91  TFile gbrfile(dbFileName_.c_str());
92  forest_ = (GBRForest*)gbrfile.Get(forestLabel_.c_str());
93  }
94  }
95 
96  //edm::Handle<edm::View<reco::Track> >handle;
98  iEvent.getByToken(trackSource_,handle);
99  reco::TrackRefProd refTrks(handle);
100 
101  iSetup.get<IdealMagneticFieldRecord>().get(magfield_);
102  TwoTrackMinimumDistance ttmd;
103  TSCPBuilderNoMaterial tscpBuilder;
104  std::auto_ptr<std::vector<TrackCandidate> > out_duplicateCandidates(new std::vector<TrackCandidate>());
105 
106  std::auto_ptr<CandidateToDuplicate> out_candidateMap(new CandidateToDuplicate());
107 
108  for(int i = 0; i < (int)handle->size(); i++){
109  const reco::Track *rt1 = &(handle->at(i));
110  if(rt1->innerMomentum().Rho() < minpT_)continue;
111  if(rt1->innerMomentum().R() < minP_)continue;
112  for(int j = i+1; j < (int)handle->size();j++){
113  const reco::Track *rt2 = &(handle->at(j));
114  if(rt2->innerMomentum().Rho() < minpT_)continue;
115  if(rt2->innerMomentum().R() < minP_)continue;
116  if(rt1->charge() != rt2->charge())continue;
117  const reco::Track* t1,*t2;
118  if(rt1->outerPosition().Rho() < rt2->outerPosition().Rho()){
119  t1 = rt1;
120  t2 = rt2;
121  }else{
122  t1 = rt2;
123  t2 = rt1;
124  }
125  double deltaR3d = sqrt(pow(t1->outerPosition().x()-t2->innerPosition().x(),2) + pow(t1->outerPosition().y()-t2->innerPosition().y(),2) + pow(t1->outerPosition().z()-t2->innerPosition().z(),2));
126 
127  if(t1->outerPosition().Rho() > t2->innerPosition().Rho())deltaR3d *= -1.0;
128  if(deltaR3d < minDeltaR3d_)continue;
129 
132  GlobalPoint avgPoint((t1->outerPosition().x()+t2->innerPosition().x())*0.5,(t1->outerPosition().y()+t2->innerPosition().y())*0.5,(t1->outerPosition().z()+t2->innerPosition().z())*0.5);
133  TrajectoryStateClosestToPoint TSCP1 = tscpBuilder(fts1, avgPoint);
134  TrajectoryStateClosestToPoint TSCP2 = tscpBuilder(fts2, avgPoint);
135  if(!TSCP1.isValid())continue;
136  if(!TSCP2.isValid())continue;
137 
138  const FreeTrajectoryState ftsn1 = TSCP1.theState();
139  const FreeTrajectoryState ftsn2 = TSCP2.theState();
140 
141  if ( (ftsn2.position()-ftsn1.position()).mag() > maxDCA_ ) continue;
142 
143  double qoverp1 = ftsn1.signedInverseMomentum();
144  double qoverp2 = ftsn2.signedInverseMomentum();
145  tmva_dqoverp_ = qoverp1-qoverp2;
146  if ( fabs(tmva_dqoverp_) > maxDQoP_ ) continue;
147 
148  double lambda1 = M_PI/2 - ftsn1.momentum().theta();
149  double lambda2 = M_PI/2 - ftsn2.momentum().theta();
150  tmva_dlambda_ = lambda1-lambda2;
151  if ( fabs(tmva_dlambda_) > maxDLambda_ ) continue;
152 
153  double phi1 = ftsn1.momentum().phi();
154  double phi2 = ftsn2.momentum().phi();
155  tmva_dphi_ = phi1-phi2;
156  if(fabs(tmva_dphi_) > M_PI) tmva_dphi_ = 2*M_PI - fabs(tmva_dphi_);
157  if ( fabs(tmva_dphi_) > maxDPhi_ ) continue;
158 
159  double dxy1 = (-ftsn1.position().x() * ftsn1.momentum().y() + ftsn1.position().y() * ftsn1.momentum().x())/TSCP1.pt();
160  double dxy2 = (-ftsn2.position().x() * ftsn2.momentum().y() + ftsn2.position().y() * ftsn2.momentum().x())/TSCP2.pt();
161  tmva_ddxy_ = dxy1-dxy2;
162  if ( fabs(tmva_ddxy_) > maxDdxy_ ) continue;
163 
164  double dsz1 = ftsn1.position().z() * TSCP1.pt() / TSCP1.momentum().mag() - (ftsn1.position().x() * ftsn1.momentum().y() + ftsn1.position().y() * ftsn1.momentum().x())/TSCP1.pt() * ftsn1.momentum().z()/ftsn1.momentum().mag();
165  double dsz2 = ftsn2.position().z() * TSCP2.pt() / TSCP2.momentum().mag() - (ftsn2.position().x() * ftsn2.momentum().y() + ftsn2.position().y() * ftsn2.momentum().x())/TSCP2.pt() * ftsn2.momentum().z()/ftsn2.momentum().mag();
166  tmva_ddsz_ = dsz1-dsz2;
167  if ( fabs(tmva_ddsz_) > maxDdsz_ ) continue;
168 
169  tmva_d3dr_ = avgPoint.perp();
170  tmva_d3dz_ = avgPoint.z();
173 
174 
175  gbrVals_[0] = tmva_ddsz_;
176  gbrVals_[1] = tmva_ddxy_;
177  gbrVals_[2] = tmva_dphi_;
178  gbrVals_[3] = tmva_dlambda_;
179  gbrVals_[4] = tmva_dqoverp_;
180  gbrVals_[5] = tmva_d3dr_;
181  gbrVals_[6] = tmva_d3dz_;
184 
185 
186  double mvaBDTG = forest_->GetClassifier(gbrVals_);
187  if(mvaBDTG < minBDTG_)continue;
188 
189 
190  TrackCandidate mergedTrack = merger_.merge(*t1,*t2);
191  out_duplicateCandidates->push_back(mergedTrack);
192  std::pair<TrackRef,TrackRef> trackPair(TrackRef(refTrks,i),TrackRef(refTrks,j));
193  std::pair<TrackCandidate, std::pair<TrackRef,TrackRef> > cp(mergedTrack,trackPair);
194  out_candidateMap->push_back(cp);
195  }
196  }
197  iEvent.put(out_duplicateCandidates,"candidates");
198  iEvent.put(out_candidateMap,"candidateMap");
199 
200 }
int i
Definition: DBlmapReader.cc:9
double maxDQoP_
max difference in q/p between two tracks
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
const FreeTrajectoryState & theState() const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
FreeTrajectoryState innerFreeState(const reco::Track &tk, const MagneticField *field)
int numberOfLostHits() const
Definition: HitPattern.h:646
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
T y() const
Definition: PV3DBase.h:63
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:47
double maxDCA_
max distance between two tracks at closest approach
void init(const edm::EventSetup &iSetup)
Definition: TrackMerger.cc:29
TrackCandidate merge(const reco::Track &inner, const reco::Track &outer) const
Definition: TrackMerger.cc:37
Geom::Theta< T > theta() const
Definition: PV3DBase.h:75
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:42
const HitPattern & trackerExpectedHitsOuter() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers after the last...
Definition: TrackBase.h:225
T mag() const
Definition: PV3DBase.h:67
std::vector< std::pair< TrackCandidate, std::pair< reco::TrackRef, reco::TrackRef > > > CandidateToDuplicate
auto const T2 &decltype(t1.eta()) t2
Definition: deltaR.h:18
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:116
T sqrt(T t)
Definition: SSEVec.h:48
std::string dbFileName_
MVA weights file.
edm::ESHandle< MagneticField > magfield_
T z() const
Definition: PV3DBase.h:64
GBRForest * forest_
MVA discriminator.
tuple handle
Definition: patZpeak.py:22
int j
Definition: DBlmapReader.cc:9
const HitPattern & trackerExpectedHitsInner() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the fir...
Definition: TrackBase.h:223
float tmva_ddsz_
MVA input variables.
GlobalVector momentum() const
#define M_PI
GlobalPoint position() const
const T & get() const
Definition: EventSetup.h:55
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
T const * product() const
Definition: ESHandle.h:62
double maxDLambda_
max difference in Lambda between two tracks
double maxDdxy_
max difference in transverse impact parameter between two tracks
double minDeltaR3d_
minDeltaR3d cut value
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
Definition: Track.h:45
int charge() const
track electric charge
Definition: TrackBase.h:111
FreeTrajectoryState outerFreeState(const reco::Track &tk, const MagneticField *field)
double maxDdsz_
max difference in longitudinal impact parameter between two tracks
double maxDPhi_
max difference in phi between two tracks
double GetClassifier(const float *vector) const
Definition: GBRForest.h:64
T x() const
Definition: PV3DBase.h:62
double signedInverseMomentum() const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
edm::EDGetTokenT< reco::TrackCollection > trackSource_
track input collection

Member Data Documentation

std::string reco::modules::DuplicateTrackMerger::dbFileName_
private

MVA weights file.

Definition at line 67 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

GBRForest* reco::modules::DuplicateTrackMerger::forest_
private

MVA discriminator.

Definition at line 49 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), produce(), and ~DuplicateTrackMerger().

std::string reco::modules::DuplicateTrackMerger::forestLabel_
private

Definition at line 69 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

float* reco::modules::DuplicateTrackMerger::gbrVals_
private

Definition at line 62 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), produce(), and ~DuplicateTrackMerger().

edm::ESHandle<MagneticField> reco::modules::DuplicateTrackMerger::magfield_
private

Definition at line 91 of file DuplicateTrackMerger.h.

Referenced by produce().

double reco::modules::DuplicateTrackMerger::maxDCA_
private

max distance between two tracks at closest approach

Definition at line 79 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::maxDdsz_
private

max difference in longitudinal impact parameter between two tracks

Definition at line 87 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::maxDdxy_
private

max difference in transverse impact parameter between two tracks

Definition at line 85 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::maxDLambda_
private

max difference in Lambda between two tracks

Definition at line 83 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::maxDPhi_
private

max difference in phi between two tracks

Definition at line 81 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::maxDQoP_
private

max difference in q/p between two tracks

Definition at line 89 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

TrackMerger reco::modules::DuplicateTrackMerger::merger_
private

Merger.

Definition at line 94 of file DuplicateTrackMerger.h.

Referenced by produce().

double reco::modules::DuplicateTrackMerger::minBDTG_
private

minBDTG cut value

Definition at line 73 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::minDeltaR3d_
private

minDeltaR3d cut value

Definition at line 71 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::minP_
private

min p cut value

Definition at line 77 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

double reco::modules::DuplicateTrackMerger::minpT_
private

min pT cut value

Definition at line 75 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

float reco::modules::DuplicateTrackMerger::tmva_d3dr_
private

Definition at line 57 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_d3dz_
private

Definition at line 58 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_ddsz_
private

MVA input variables.

Definition at line 52 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_ddxy_
private

Definition at line 53 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_dlambda_
private

Definition at line 55 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_dphi_
private

Definition at line 54 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_dqoverp_
private

Definition at line 56 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_inner_nMissingOuter_
private

Definition at line 60 of file DuplicateTrackMerger.h.

Referenced by produce().

float reco::modules::DuplicateTrackMerger::tmva_outer_nMissingInner_
private

Definition at line 59 of file DuplicateTrackMerger.h.

Referenced by produce().

edm::EDGetTokenT<reco::TrackCollection> reco::modules::DuplicateTrackMerger::trackSource_
private

track input collection

Definition at line 65 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), and produce().

bool reco::modules::DuplicateTrackMerger::useForestFromDB_
private

Definition at line 68 of file DuplicateTrackMerger.h.

Referenced by DuplicateTrackMerger(), produce(), and ~DuplicateTrackMerger().