forked from cms-sw/cmssw
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Vertex Recovery for peripheral events for 2018 PbPb (cms-sw#174)
* Vertex Recovery added for 2018 PbPb data * updated other configs * moved checking for vtx before transientTrack builder to increase speed significantly * changed from vString to vInputTag for mass replace to work
- Loading branch information
Showing
9 changed files
with
551 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
95 changes: 95 additions & 0 deletions
95
RecoVertex/PrimaryVertexProducer/interface/PrimaryVertexRecoveryProducer.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
// -*- C++ -*- | ||
// | ||
// Package: PrimaryVertexProducer | ||
// Class: PrimaryVertexProducer | ||
// | ||
/**\class PrimaryVertexProducer PrimaryVertexProducer.cc RecoVertex/PrimaryVertexProducer/src/PrimaryVertexProducer.cc | ||
Description: steers tracker primary vertex reconstruction and storage | ||
Implementation: | ||
<Notes on implementation> | ||
*/ | ||
// | ||
// Original Author: Pascal Vanlaer | ||
// Created: Tue Feb 28 11:06:34 CET 2006 | ||
// | ||
// | ||
|
||
|
||
// system include files | ||
#include <memory> | ||
|
||
// user include files | ||
#include "FWCore/Framework/interface/Frameworkfwd.h" | ||
#include "FWCore/Framework/interface/stream/EDProducer.h" | ||
|
||
#include "FWCore/Framework/interface/Event.h" | ||
#include "FWCore/Framework/interface/EventSetup.h" | ||
|
||
#include "FWCore/ParameterSet/interface/ParameterSet.h" | ||
|
||
//#include "RecoVertex/PrimaryVertexProducer/interface/PrimaryVertexProducerAlgorithm.h" | ||
#include "TrackingTools/TransientTrack/interface/TransientTrack.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/TrackFilterForPVFindingBase.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/TrackClusterizerInZ.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZ_vect.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZT_vect.h" | ||
|
||
|
||
#include "RecoVertex/PrimaryVertexProducer/interface/TrackFilterForPVFinding.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/HITrackFilterForPVFinding.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/GapClusterizerInZ.h" | ||
#include "RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZ.h" | ||
#include "RecoVertex/KalmanVertexFit/interface/KalmanVertexFitter.h" | ||
#include "RecoVertex/AdaptiveVertexFit/interface/AdaptiveVertexFitter.h" | ||
//#include "RecoVertex/VertexTools/interface/VertexDistanceXY.h" | ||
#include "RecoVertex/VertexPrimitives/interface/VertexException.h" | ||
#include <algorithm> | ||
#include "RecoVertex/PrimaryVertexProducer/interface/VertexHigherPtSquared.h" | ||
#include "RecoVertex/VertexTools/interface/VertexCompatibleWithBeam.h" | ||
#include "DataFormats/Common/interface/ValueMap.h" | ||
#include "DataFormats/VertexReco/interface/Vertex.h" | ||
#include "DataFormats/VertexReco/interface/VertexFwd.h" | ||
// | ||
// class declaration | ||
// | ||
|
||
class PrimaryVertexRecoveryProducer : public edm::stream::EDProducer<> { | ||
public: | ||
PrimaryVertexRecoveryProducer(const edm::ParameterSet&); | ||
~PrimaryVertexRecoveryProducer() override; | ||
|
||
void produce(edm::Event&, const edm::EventSetup&) override; | ||
|
||
// access to config | ||
edm::ParameterSet config() const { return theConfig; } | ||
|
||
private: | ||
// ----------member data --------------------------- | ||
TrackFilterForPVFindingBase* theTrackFilter; | ||
TrackClusterizerInZ* theTrackClusterizer; | ||
|
||
// vtx fitting algorithms | ||
struct algo { | ||
VertexFitter<5> * fitter; | ||
VertexCompatibleWithBeam * vertexSelector; | ||
std::string label; | ||
bool useBeamConstraint; | ||
double minNdof; | ||
}; | ||
|
||
std::vector< algo > algorithms; | ||
|
||
edm::ParameterSet theConfig; | ||
bool fVerbose; | ||
|
||
edm::EDGetTokenT<reco::BeamSpot> bsToken; | ||
bool redoAllVertices; | ||
edm::EDGetTokenT<reco::VertexCollection> oldVtxToken; | ||
edm::EDGetTokenT<reco::TrackCollection> trkToken; | ||
edm::EDGetTokenT<edm::ValueMap<float> > trkTimesToken; | ||
edm::EDGetTokenT<edm::ValueMap<float> > trkTimeResosToken; | ||
|
||
bool f4D; | ||
}; |
Oops, something went wrong.