File indexing completed on 2023-03-17 11:29:10
0001 #ifndef SiOuterTrackerV_OuterTrackerMonitorTrackingParticles_h
0002 #define SiOuterTrackerV_OuterTrackerMonitorTrackingParticles_h
0003
0004 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 #include "DataFormats/Common/interface/DetSetVector.h"
0007 #include "DataFormats/Common/interface/DetSetVectorNew.h"
0008 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0009 #include "FWCore/Framework/interface/ESHandle.h"
0010 #include "FWCore/Framework/interface/Event.h"
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 #include "FWCore/Framework/interface/MakerMacros.h"
0013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0014 #include "FWCore/Utilities/interface/EDGetToken.h"
0015 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
0016 #include "SimTracker/TrackTriggerAssociation/interface/TTClusterAssociationMap.h"
0017 #include "SimTracker/TrackTriggerAssociation/interface/TTStubAssociationMap.h"
0018 #include "SimTracker/TrackTriggerAssociation/interface/TTTrackAssociationMap.h"
0019 #include <memory>
0020 #include <string>
0021 #include <vector>
0022
0023 class OuterTrackerMonitorTrackingParticles : public DQMEDAnalyzer {
0024 public:
0025 explicit OuterTrackerMonitorTrackingParticles(const edm::ParameterSet &);
0026 ~OuterTrackerMonitorTrackingParticles() override;
0027 void analyze(const edm::Event &, const edm::EventSetup &) override;
0028 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0029
0030
0031 MonitorElement *trackParts_Eta = nullptr;
0032 MonitorElement *trackParts_Phi = nullptr;
0033 MonitorElement *trackParts_Pt = nullptr;
0034
0035
0036 MonitorElement *tp_pt = nullptr;
0037 MonitorElement *tp_pt_zoom = nullptr;
0038 MonitorElement *tp_eta = nullptr;
0039 MonitorElement *tp_d0 = nullptr;
0040 MonitorElement *tp_VtxR = nullptr;
0041 MonitorElement *tp_VtxZ = nullptr;
0042 MonitorElement *match_tp_pt = nullptr;
0043 MonitorElement *match_tp_pt_zoom = nullptr;
0044 MonitorElement *match_tp_eta = nullptr;
0045 MonitorElement *match_tp_d0 = nullptr;
0046 MonitorElement *match_tp_VtxR = nullptr;
0047 MonitorElement *match_tp_VtxZ = nullptr;
0048
0049
0050 MonitorElement *res_eta = nullptr;
0051 MonitorElement *res_pt = nullptr;
0052 MonitorElement *res_ptRel = nullptr;
0053 MonitorElement *respt_eta0to0p7_pt2to3 = nullptr;
0054 MonitorElement *respt_eta0p7to1_pt2to3 = nullptr;
0055 MonitorElement *respt_eta1to1p2_pt2to3 = nullptr;
0056 MonitorElement *respt_eta1p2to1p6_pt2to3 = nullptr;
0057 MonitorElement *respt_eta1p6to2_pt2to3 = nullptr;
0058 MonitorElement *respt_eta2to2p4_pt2to3 = nullptr;
0059 MonitorElement *respt_eta0to0p7_pt3to8 = nullptr;
0060 MonitorElement *respt_eta0p7to1_pt3to8 = nullptr;
0061 MonitorElement *respt_eta1to1p2_pt3to8 = nullptr;
0062 MonitorElement *respt_eta1p2to1p6_pt3to8 = nullptr;
0063 MonitorElement *respt_eta1p6to2_pt3to8 = nullptr;
0064 MonitorElement *respt_eta2to2p4_pt3to8 = nullptr;
0065 MonitorElement *respt_eta0to0p7_pt8toInf = nullptr;
0066 MonitorElement *respt_eta0p7to1_pt8toInf = nullptr;
0067 MonitorElement *respt_eta1to1p2_pt8toInf = nullptr;
0068 MonitorElement *respt_eta1p2to1p6_pt8toInf = nullptr;
0069 MonitorElement *respt_eta1p6to2_pt8toInf = nullptr;
0070 MonitorElement *respt_eta2to2p4_pt8toInf = nullptr;
0071 MonitorElement *reseta_eta0to0p7 = nullptr;
0072 MonitorElement *reseta_eta0p7to1 = nullptr;
0073 MonitorElement *reseta_eta1to1p2 = nullptr;
0074 MonitorElement *reseta_eta1p2to1p6 = nullptr;
0075 MonitorElement *reseta_eta1p6to2 = nullptr;
0076 MonitorElement *reseta_eta2to2p4 = nullptr;
0077 MonitorElement *resphi_eta0to0p7 = nullptr;
0078 MonitorElement *resphi_eta0p7to1 = nullptr;
0079 MonitorElement *resphi_eta1to1p2 = nullptr;
0080 MonitorElement *resphi_eta1p2to1p6 = nullptr;
0081 MonitorElement *resphi_eta1p6to2 = nullptr;
0082 MonitorElement *resphi_eta2to2p4 = nullptr;
0083 MonitorElement *resVtxZ_eta0to0p7 = nullptr;
0084 MonitorElement *resVtxZ_eta0p7to1 = nullptr;
0085 MonitorElement *resVtxZ_eta1to1p2 = nullptr;
0086 MonitorElement *resVtxZ_eta1p2to1p6 = nullptr;
0087 MonitorElement *resVtxZ_eta1p6to2 = nullptr;
0088 MonitorElement *resVtxZ_eta2to2p4 = nullptr;
0089
0090
0091 MonitorElement *resd0_eta0to0p7 = nullptr;
0092 MonitorElement *resd0_eta0p7to1 = nullptr;
0093 MonitorElement *resd0_eta1to1p2 = nullptr;
0094 MonitorElement *resd0_eta1p2to1p6 = nullptr;
0095 MonitorElement *resd0_eta1p6to2 = nullptr;
0096 MonitorElement *resd0_eta2to2p4 = nullptr;
0097
0098 private:
0099 const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> m_topoToken;
0100 edm::ParameterSet conf_;
0101 edm::EDGetTokenT<std::vector<TrackingParticle>> trackingParticleToken_;
0102 edm::EDGetTokenT<TTClusterAssociationMap<Ref_Phase2TrackerDigi_>>
0103 ttClusterMCTruthToken_;
0104 edm::EDGetTokenT<TTStubAssociationMap<Ref_Phase2TrackerDigi_>>
0105 ttStubMCTruthToken_;
0106 edm::EDGetTokenT<TTTrackAssociationMap<Ref_Phase2TrackerDigi_>>
0107 ttTrackMCTruthToken_;
0108 int L1Tk_minNStub;
0109 double L1Tk_maxChi2dof;
0110 int TP_minNStub;
0111 int TP_minNLayersStub;
0112 double TP_minPt;
0113 double TP_maxEta;
0114 double TP_maxVtxZ;
0115 std::string topFolderName_;
0116 };
0117 #endif