1 #ifndef TemplatedVertexArbitrator_h
2 #define TemplatedVertexArbitrator_h
47 template <
class InputContainer,
class VTX>
67 pdesc.
add<
double>(
"dLenFraction", 0.333);
68 pdesc.
add<
double>(
"dRCut", 0.4);
69 pdesc.
add<
double>(
"distCut", 0.04);
70 pdesc.
add<
double>(
"sigCut", 5.0);
71 pdesc.
add<
double>(
"fitterSigmacut", 3.0);
72 pdesc.
add<
double>(
"fitterTini", 256);
73 pdesc.
add<
double>(
"fitterRatio", 0.25);
74 pdesc.
add<
int>(
"trackMinLayers", 4);
75 pdesc.
add<
double>(
"trackMinPt", 0.4);
76 pdesc.
add<
int>(
"trackMinPixels", 1);
77 pdesc.
add<
double>(
"maxTimeSignificance", 3.5);
79 cdesc.
add(
"trackVertexArbitratorDefault", pdesc);
81 cdesc.
add(
"candidateVertexArbitratorDefault", pdesc);
99 template <
class InputContainer,
class VTX>
101 token_primaryVertex = consumes<reco::VertexCollection>(
params.getParameter<
edm::InputTag>(
"primaryVertices"));
102 token_secondaryVertex = consumes<Product>(
params.getParameter<
edm::InputTag>(
"secondaryVertices"));
109 template <
class InputContainer,
class VTX>
111 using namespace reco;
120 auto recoVertices = std::make_unique<Product>();
125 event.getByToken(token_tracks,
tracks);
131 event.getByToken(token_beamSpot,
beamSpot);
141 for (
unsigned int ivtx = 0; ivtx < theRecoVertices.size(); ivtx++) {
142 if (!(
nTracks(theRecoVertices[ivtx]) > 1))
144 recoVertices->push_back(theRecoVertices[ivtx]);