64 desc.add<
edm::InputTag>(
"vertexCandidatesLabel", {
"particleFlowDisplacedVertexCandidate"});
66 desc.addUntracked<
bool>(
"verbose",
false);
68 desc.addUntracked<
bool>(
"debug",
false);
70 desc.add<
double>(
"transvSize", 1.0);
72 desc.add<
double>(
"longSize", 5);
75 desc.add<
double>(
"primaryVertexCut", 1.8);
78 desc.add<
double>(
"tobCut", 100);
81 desc.add<
double>(
"tecCut", 220);
85 desc.add<
double>(
"minAdaptWeight", 0.5);
88 desc.addUntracked<
bool>(
"switchOff2TrackVertex",
true);
96 pset.add<
bool>(
"bSelectTracks",
true);
101 pset.add<
double>(
"nChi2_max", 5.);
102 pset.add<
double>(
"pt_min", 0.2);
105 pset.add<
double>(
"nChi2_min", 0.5);
107 pset.add<
double>(
"dxy_min", 0.2);
108 pset.add<
int>(
"nHits_min", 6);
109 pset.add<
int>(
"nOuterHits_max", 9);
115 pset.add<
bool>(
"bIdentifyVertices",
true);
119 pset.add<
double>(
"pt_min", 0.5);
122 pset.add<
double>(
"pt_kink_min", 3.0);
123 pset.add<
double>(
"logPrimSec_min", 0.0);
125 pset.add<
double>(
"looper_eta_max", 0.1);
128 pset.add<std::vector<double>>(
"masses", {0.050, 0.485, 0.515, 0.480, 0.520, 1.107, 1.125, 0.200});
132 pset.add<std::vector<double>>(
"angles", {15, 15});
140 pset.add<
double>(
"sigmacut", 6.);
141 pset.add<
double>(
"Tini", 256.);
142 pset.add<
double>(
"ratio", 0.25);
145 descriptions.
add(
"particleFlowDisplacedVertex",
desc);
153 iConfig.getParameter<
InputTag>(
"vertexCandidatesLabel"))),
155 inputTagBeamSpot_(consumes<
reco::
BeamSpot>(iConfig.getParameter<
InputTag>(
"offlineBeamSpotLabel"))),
170 double transvSize = iConfig.
getParameter<
double>(
"transvSize");
174 double longSize = iConfig.
getParameter<
double>(
"longSize");
178 double primaryVertexCut = iConfig.
getParameter<
double>(
"primaryVertexCut");
192 double minAdaptWeight = iConfig.
getParameter<
double>(
"minAdaptWeight");
200 produces<reco::PFDisplacedVertexCollection>();
205 transvSize, longSize, primaryVertexCut, tobCut, tecCut, minAdaptWeight, switchOff2TrackVertex);
214 LogDebug(
"PFDisplacedVertexProducer") <<
"START event: " <<
iEvent.id().event() <<
" in run " <<
iEvent.id().run();
241 std::unique_ptr<reco::PFDisplacedVertexCollection> pOutputDisplacedVertexCollection(
246 LogDebug(
"PFDisplacedVertexProducer") <<
"STOP event: " <<
iEvent.id().event() <<
" in run " <<
iEvent.id().run();
const edm::EDGetTokenT< reco::BeamSpot > inputTagBeamSpot_
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > globTkGeomToken_
void setEdmParameters(const MagneticField *magField, edm::ESHandle< GlobalTrackingGeometry > globTkGeomHandle, const TrackerTopology *tkerTopo, const TrackerGeometry *tkerGeom)
Sets parameters for track extrapolation and hits study.
T getParameter(std::string const &) const
PFDisplacedVertexFinder pfDisplacedVertexFinder_
Displaced Vertices finder.
std::vector< PFDisplacedVertexCandidate > PFDisplacedVertexCandidateCollection
collection of PFDisplacedVertexCandidate objects
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
const edm::EDGetTokenT< reco::PFDisplacedVertexCandidateCollection > inputTagVertexCandidates_
std::unique_ptr< reco::PFDisplacedVertexCollection > transferDisplacedVertices()
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkerGeomToken_
void findDisplacedVertices()
-----— Main function which find vertices -----— ///
std::vector< Vertex > VertexCollection
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tkerTopoToken_
PFDisplacedVertexProducer(const edm::ParameterSet &)
T getUntrackedParameter(std::string const &, T const &) const
const edm::EDGetTokenT< reco::VertexCollection > inputTagMainVertex_
Input tag for main vertex to cut of dxy of secondary tracks.
~PFDisplacedVertexProducer() override
void setTracksSelector(const edm::ParameterSet &ps)
void setDebug(bool debug)
Sets debug printout flag.
#define DEFINE_FWK_MODULE(type)
Producer for DisplacedVertices.
void setAVFParameters(const edm::ParameterSet &ps)
void setInput(const edm::Handle< reco::PFDisplacedVertexCandidateCollection > &)
Set input collections of tracks.
Log< level::Info, false > LogInfo
void setPrimaryVertex(edm::Handle< reco::VertexCollection > mainVertexHandle, edm::Handle< reco::BeamSpot > beamSpotHandle)
void setParameters(double transvSize, double longSize, double primaryVertexCut, double tobCut, double tecCut, double minAdaptWeight, bool switchOff2TrackVertex)
--—— Set different algo parameters --—— ///
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void produce(edm::Event &, const edm::EventSetup &) override
void setVertexIdentifier(const edm::ParameterSet &ps)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)