File indexing completed on 2024-04-06 12:29:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef RECOVERTEX__V0_FITTER_H
0020 #define RECOVERTEX__V0_FITTER_H
0021
0022 #include "FWCore/Framework/interface/Event.h"
0023 #include "FWCore/Framework/interface/ESHandle.h"
0024 #include "FWCore/Utilities/interface/InputTag.h"
0025 #include "DataFormats/Common/interface/Ref.h"
0026 #include "DataFormats/TrackReco/interface/Track.h"
0027 #include "RecoVertex/VertexPrimitives/interface/TransientVertex.h"
0028 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0029 #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexFitter.h"
0030 #include "RecoVertex/AdaptiveVertexFit/interface/AdaptiveVertexFitter.h"
0031 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0032 #include "MagneticField/VolumeBasedEngine/interface/VolumeBasedMagneticField.h"
0033 #include "DataFormats/Candidate/interface/VertexCompositeCandidate.h"
0034 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
0035 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0036 #include "FWCore/Framework/interface/ConsumesCollector.h"
0037 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0038 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0039
0040 class dso_hidden V0Fitter {
0041 public:
0042 V0Fitter(const edm::ParameterSet& theParams, edm::ConsumesCollector&& iC);
0043 void fitAll(const edm::Event& iEvent,
0044 const edm::EventSetup& iSetup,
0045 reco::VertexCompositeCandidateCollection& k,
0046 reco::VertexCompositeCandidateCollection& l);
0047
0048 private:
0049 const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> esTokenMF_;
0050
0051 bool doFit_;
0052 bool vertexFitter_;
0053 bool useRefTracks_;
0054 bool doKShorts_;
0055 bool doLambdas_;
0056
0057
0058 double tkChi2Cut_;
0059 int tkNHitsCut_;
0060 double tkPtCut_;
0061 double tkIPSigXYCut_;
0062 double tkIPSigZCut_;
0063
0064 double vtxChi2Cut_;
0065 double vtxDecaySigXYCut_;
0066 double vtxDecaySigXYZCut_;
0067 double vtxDecayXYCut_;
0068 double ssVtxDecayXYCut_;
0069
0070 bool allowSS_;
0071 double innerOuterTkDCAThreshold_;
0072 double innerTkDCACut_;
0073 double outerTkDCACut_;
0074 bool allowWideAngleVtx_;
0075 double mPiPiCut_;
0076 double innerHitPosCut_;
0077 double cosThetaXYCut_;
0078 double cosThetaXYZCut_;
0079
0080 double kShortMassCut_;
0081 double lambdaMassCut_;
0082
0083 edm::EDGetTokenT<reco::TrackCollection> token_tracks;
0084 edm::EDGetTokenT<reco::BeamSpot> token_beamSpot;
0085 bool useVertex_;
0086 edm::EDGetTokenT<std::vector<reco::Vertex>> token_vertices;
0087 };
0088
0089 #endif