CMS 3D CMS Logo

TkConvValidator.h
Go to the documentation of this file.
1 #ifndef TkConvValidator_H
2 #define TkConvValidator_H
24 
25 //
26 //DQM services
30 
31 //
32 #include <map>
33 #include <vector>
34 
35 // forward declarations
36 class TFile;
37 class TH1F;
38 class TH2F;
39 class TProfile;
40 class TTree;
41 class SimVertex;
42 class SimTrack;
52 public:
53  //
54  explicit TkConvValidator(const edm::ParameterSet&);
55  ~TkConvValidator() override;
56 
57  void analyze(const edm::Event&, const edm::EventSetup&) override;
58  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
59  void dqmBeginRun(edm::Run const& r, edm::EventSetup const& theEventSetup) override;
60  void dqmEndRun(edm::Run const& r, edm::EventSetup const& es) override;
61  void endJob() override;
62 
63 private:
64  //
65 
66  float phiNormalization(float& a);
67  float etaTransformation(float a, float b);
69  const TrackerGeometry& trackerGeom,
71  const reco::Vertex& vtx);
72 
76 
78  int nEvt_;
79  int nEntry_;
80  int nSimConv_[2];
81  int nMatched_;
82  int nRecConv_;
85 
87 
91 
95 
97 
101 
111 
116 
118 
120 
122 
124 
125  double minPhoEtCut_;
128  double trkPtLow_;
129  double lip_;
131  double bcEtLow_;
136  double trkPtSumCut_;
147  double minProb_;
149  double minLxy_;
150 
152  double mcPhi_;
153  double mcEta_;
154  double mcConvPt_;
155  double mcConvR_;
156  double mcConvZ_;
157  double mcConvY_;
158  double mcConvX_;
159  double mcConvPhi_;
160  double mcConvEta_;
161  double mcJetEta_;
162  double mcJetPhi_;
163 
165  //std::vector<TrackingParticleRef> theConvTP_;
166 
175 
176  double simMinPt_;
177  double simMaxPt_;
178 
180  double recMinPt_;
181  double recMaxPt_;
182 
183  //
184  //
187  //
190 
193 
206  // Numerator for double-counting quantification
211 
212  // Denominators for conversion fake rate
214  // Numerators for conversion fake rate
216 
227 
230 
233 
235 
237 
243 
249 
251 
257 
259 
264 
271 
276 
281 
284 
287 
292 
295 
297 
299 
304 
315 
328 
330 
336 
338 
340 
344 };
345 
346 #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