CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TkConvValidator.h
Go to the documentation of this file.
1 #ifndef TkConvValidator_H
2 #define TkConvValidator_H
25 
26 //
27 //DQM services
31 
32 //
33 #include <map>
34 #include <vector>
35 
36 // forward declarations
37 class TFile;
38 class TH1F;
39 class TH2F;
40 class TProfile;
41 class TTree;
42 class SimVertex;
43 class SimTrack;
53 public:
54  //
55  explicit TkConvValidator(const edm::ParameterSet&);
56  ~TkConvValidator() override;
57 
58  void analyze(const edm::Event&, const edm::EventSetup&) override;
59  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
60  void dqmBeginRun(edm::Run const& r, edm::EventSetup const& theEventSetup) override;
61  void dqmEndRun(edm::Run const& r, edm::EventSetup const& es) override;
62  void endJob() override;
63 
64 private:
65  //
66 
67  float phiNormalization(float& a);
68  float etaTransformation(float a, float b);
70  const TrackerGeometry& trackerGeom,
72  const reco::Vertex& vtx);
73 
77 
79  int nEvt_;
80  int nEntry_;
81  int nSimConv_[2];
82  int nMatched_;
83  int nRecConv_;
86 
88 
92 
96 
98 
102 
112 
117 
119 
121 
123 
125 
126  double minPhoEtCut_;
129  double trkPtLow_;
130  double lip_;
132  double bcEtLow_;
137  double trkPtSumCut_;
148  double minProb_;
150  double minLxy_;
151 
153  double mcPhi_;
154  double mcEta_;
155  double mcConvPt_;
156  double mcConvR_;
157  double mcConvZ_;
158  double mcConvY_;
159  double mcConvX_;
160  double mcConvPhi_;
161  double mcConvEta_;
162  double mcJetEta_;
163  double mcJetPhi_;
164 
166  //std::vector<TrackingParticleRef> theConvTP_;
167 
176 
177  double simMinPt_;
178  double simMaxPt_;
179 
181  double recMinPt_;
182  double recMaxPt_;
183 
184  //
185  //
188  //
191 
194 
207  // Numerator for double-counting quantification
212 
213  // Denominators for conversion fake rate
215  // Numerators for conversion fake rate
217 
228 
231 
234 
236 
238 
244 
250 
252 
258 
260 
265 
272 
277 
282 
285 
288 
293 
296 
298 
300 
305 
316 
329 
331 
337 
339 
341 
345 };
346 
347 #endif
MonitorElement * h2_DPhiTracksAtVtxVsR_
MonitorElement * h_SimRecConvOneMTracks_[5]
MonitorElement * h2_dzPVVsR_
MonitorElement * h_maxDlClosestHitToVtx_[3][3]
MonitorElement * h_convPt_[3][3]
MonitorElement * p_convVtxdYVsY_
std::string dqmpath_
MonitorElement * h2_DCotTracksVsR_
MonitorElement * h_VisSimConvLarge_
MonitorElement * h_convVtxdR_
edm::ESHandle< CaloTopology > theCaloTopo_
std::string conversionTrackProducer_
MonitorElement * h2_DCotTracksVsEta_
MonitorElement * h_simConvVtxRvsZ_[4]
MonitorElement * h_convZplot_
MonitorElement * h_nSimConv_[2]
MonitorElement * h_convSCdPhi_[3][3]
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0_[5]
MonitorElement * h_SimConvOneMTracks_[5]
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0005_[5]
std::string photonCollection_
MonitorElement * h_DCotTracks_[3][3]
MonitorElement * nHitsVsEta_[3]
edm::EDGetTokenT< TrackingParticleRefVector > tpSelForFake_Token_
MonitorElement * h_lxybs_[3][3]
edm::RefVector< TrackingParticleCollection > theConvTP_
MonitorElement * h_trailNHitsBeforeVtx_[3][3]
math::XYZVector recalculateMomentumAtFittedVertex(const MagneticField &mf, const TrackerGeometry &trackerGeom, const edm::RefToBase< reco::Track > &tk, const reco::Vertex &vtx)
MonitorElement * p_Chi2VsR_[3]
MonitorElement * h_convVtxYvsX_zoom_[2]
edm::EDGetTokenT< reco::PhotonCollection > photonCollectionPr_Token_
MonitorElement * p_DCotTracksVsR_
MonitorElement * h_tkChi2_[3]
MonitorElement * h_SimConvTwoMTracksAndVtxPGT01_[5]
MonitorElement * h_convVtxdX_
MonitorElement * h_convPtRes_[3]
MonitorElement * h_convEtaMatchSC_[3][3]
MonitorElement * h2_Chi2VsEta_[3]
MonitorElement * p_TkPtPull_[3]
MonitorElement * h_SimRecConvTwoMTracks_[5]
MonitorElement * h_vtxChi2Prob_[3][3]
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
void endJob() override
MonitorElement * h_convVtxdX_endcap_
MonitorElement * h_convVtxdR_endcap_
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
MonitorElement * h_zPVFromTracks_[2]
MonitorElement * h_convVtxdY_barrel_
MonitorElement * h_tkChi2Large_[3]
edm::ParameterSet parameters_
edm::EDGetTokenT< edm::SimTrackContainer > g4_simTk_Token_
MonitorElement * p_DCotTracksVsEta_
edm::EDGetTokenT< edm::SimVertexContainer > g4_simVtx_Token_
MonitorElement * h_maxDlClosestHitToVtxSig_[3][3]
MonitorElement * h_convVtxdR_barrel_
MonitorElement * h_leadExpectedHitsInner_[3][3]
MonitorElement * h_convSCdEta_[3][3]
MonitorElement * h_sumNHitsBeforeVtx_[3][3]
MonitorElement * h_dzPVFromTracks_[2]
MonitorElement * h_nConv_[3][3]
info per conversion
edm::ESHandle< CaloGeometry > theCaloGeom_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * h_convVtxdY_
MonitorElement * p2_effRZ_
MonitorElement * p_DPhiTracksAtVtxVsEta_
MonitorElement * h_deltaExpectedHitsInner_[3][3]
MonitorElement * h_convVtxdEta_
edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
edm::EDGetTokenT< edm::HepMCProduct > hepMC_Token_
MonitorElement * h_convVtxYvsX_
MonitorElement * p_convVtxdZVsR_
edm::EDGetTokenT< TrackingParticleRefVector > tpSelForEff_Token_
MonitorElement * p_convVtxdRVsR_
MonitorElement * h_convR_[3][3]
float etaTransformation(float a, float b)
double recMinPt_
Global variables for reco Photon.
float phiNormalization(float &a)
std::string conversionCollection_
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
MonitorElement * h_VisSimConv_[6]
MonitorElement * h2_photonPtRecVsPtSim_
MonitorElement * h2_DPhiTracksAtEcalVsR_
MonitorElement * h_EoverPTracks_[3][3]
edm::ESHandle< MagneticField > theMF_
PhotonMCTruthFinder * thePhotonMCTruthFinder_
MonitorElement * h_leadNHitsBeforeVtx_[3][3]
edm::EDGetTokenT< reco::TrackToTrackingParticleAssociator > trackAssociator_Token_
~TkConvValidator() override
edm::EDGetTokenT< reco::ConversionCollection > conversionCollectionPr_Token_
MonitorElement * h_distMinAppTracks_[3][3]
MonitorElement * p_DPhiTracksAtVtxVsR_
TkConvValidator(const edm::ParameterSet &)
MonitorElement * h_SimConvEtaPix_[2]
MonitorElement * h_convVtxdX_barrel_
MonitorElement * h_DEtaTracksAtEcal_[3][3]
MonitorElement * p_nHitsVsEta_[3]
MonitorElement * h_simTkPt_
MonitorElement * p_convVtxdXVsX_
MonitorElement * h_convVtxdY_endcap_
MonitorElement * h_convEta_[3][3]
MonitorElement * h2_DPhiTracksAtEcalVsEta_
MonitorElement * h_convVtxRvsZ_zoom_[2]
MonitorElement * h_simConvVtxYvsX_
MonitorElement * h_DPhiTracksAtEcal_[3][3]
MonitorElement * h_convEta2_[3][3]
MonitorElement * h_nHitsBeforeVtx_[3]
MonitorElement * p2_convVtxdRVsRZ_
MonitorElement * p_Chi2VsEta_[3]
MonitorElement * nHits_[3]
MonitorElement * h_SimConvTwoTracks_[5]
MonitorElement * h_RecoConvTwoMTracks_[5]
MonitorElement * h_convVtxdZ_
MonitorElement * h_SimConvOneTracks_[5]
Numerator for efficiencies.
MonitorElement * h_convVtxRvsZ_[3]
MonitorElement * h2_DPhiTracksAtVtxVsEta_
MonitorElement * h_convPhi_[3][3]
MonitorElement * p_DPhiTracksAtEcalVsR_
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
MonitorElement * h_convVtxdZ_barrel_
MonitorElement * h2_convVtxRrecVsTrue_
double b
Definition: hdecay.h:118
MonitorElement * h_AllSimConv_[5]
Denominator for efficiencies.
MonitorElement * h_convRplot_
MonitorElement * p_nHitsVsR_[3]
MonitorElement * p_dzPVVsR_
MonitorElement * h2_Chi2VsR_[3]
MonitorElement * h_SimRecConvOneTracks_[5]
std::string conversionCollectionProducer_
std::string fName_
MonitorElement * h_convVtxdPhi_
MonitorElement * h_invMass_[3][3]
MonitorElement * h_convZ_[3][3]
MonitorElement * h_dlClosestHitToVtxSig_[3]
MonitorElement * h2_PtRecVsPtSim_[3]
std::string photonCollectionProducer_
MonitorElement * h_match_
double mcPhi_
global variable for the MC photon
MonitorElement * p_convVtxdZVsZ_
MonitorElement * h2_TkPtPull_[3]
double a
Definition: hdecay.h:119
MonitorElement * h_RecoConvTwoTracks_[5]
edm::InputTag label_tp_
MonitorElement * h_convVtxdZ_endcap_
MonitorElement * h2_convVtxdRVsR_
MonitorElement * h_DPhiTracksAtVtx_[3][3]
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * nHitsVsR_[3]
MonitorElement * p_DPhiTracksAtEcalVsEta_
void dqmEndRun(edm::Run const &r, edm::EventSetup const &es) override
MonitorElement * h_simTkEta_
MonitorElement * h_TkPtPull_[3]
MonitorElement * p2_convVtxdZVsRZ_
MonitorElement * h_SimRecConvTwoTracks_[5]
MonitorElement * h_SimConvTwoMTracks_[5]
MonitorElement * p_convVtxdRVsEta_
MonitorElement * h_dlClosestHitToVtx_[3]
MonitorElement * h_TkD0_[3]
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
MonitorElement * h2_convVtxdRVsEta_
edm::EDGetTokenT< reco::GenJetCollection > genjets_Token_
MonitorElement * h_nSharedHits_[3][3]
Definition: Run.h:45
MonitorElement * h_maxNHitsBeforeVtx_[3][3]
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
void dqmBeginRun(edm::Run const &r, edm::EventSetup const &theEventSetup) override