File indexing completed on 2024-04-06 12:08:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef SiPixelMonitorTrack_SiPixelHitEfficiencyModule_h
0014 #define SiPixelMonitorTrack_SiPixelHitEfficiencyModule_h
0015
0016 #include <utility>
0017
0018 #include "DQMServices/Core/interface/DQMStore.h"
0019 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0020 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0021 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
0022 #include "DataFormats/TrajectoryState/interface/LocalTrajectoryParameters.h"
0023 #include <cstdint>
0024
0025 namespace edm {
0026 class EventSetup;
0027 }
0028
0029 class SiPixelHitEfficiencyModule {
0030 public:
0031 typedef dqm::reco::DQMStore DQMStore;
0032 typedef dqm::reco::MonitorElement MonitorElement;
0033
0034 SiPixelHitEfficiencyModule();
0035 SiPixelHitEfficiencyModule(const uint32_t);
0036 ~SiPixelHitEfficiencyModule();
0037
0038 void book(
0039 const edm::ParameterSet &, const TrackerTopology *, DQMStore::IBooker &, int type = 0, bool isUpgrade = false);
0040 void fill(const TrackerTopology *pTT,
0041 const LocalTrajectoryParameters <p,
0042 bool isHitValid,
0043 bool modon = true,
0044 bool ladon = true,
0045 bool layon = true,
0046 bool phion = true,
0047 bool bladeon = true,
0048 bool diskon = true,
0049 bool ringon = true);
0050 void computeEfficiencies(bool modon = true,
0051 bool ladon = true,
0052 bool layon = true,
0053 bool phion = true,
0054 bool bladeon = true,
0055 bool diskon = true,
0056 bool ringon = true);
0057 std::pair<double, double> eff(double nValid, double nMissing);
0058
0059 private:
0060 uint32_t id_;
0061 bool bBookTracks;
0062 bool debug_;
0063 bool updateEfficiencies;
0064
0065
0066 MonitorElement *meEfficiency_;
0067 MonitorElement *meEfficiencyX_;
0068 MonitorElement *meEfficiencyY_;
0069 MonitorElement *meEfficiencyAlpha_;
0070 MonitorElement *meEfficiencyBeta_;
0071
0072 MonitorElement *meEfficiencyLad_;
0073 MonitorElement *meEfficiencyXLad_;
0074 MonitorElement *meEfficiencyYLad_;
0075 MonitorElement *meEfficiencyAlphaLad_;
0076 MonitorElement *meEfficiencyBetaLad_;
0077
0078 MonitorElement *meEfficiencyLay_;
0079 MonitorElement *meEfficiencyXLay_;
0080 MonitorElement *meEfficiencyYLay_;
0081 MonitorElement *meEfficiencyAlphaLay_;
0082 MonitorElement *meEfficiencyBetaLay_;
0083
0084 MonitorElement *meEfficiencyPhi_;
0085 MonitorElement *meEfficiencyXPhi_;
0086 MonitorElement *meEfficiencyYPhi_;
0087 MonitorElement *meEfficiencyAlphaPhi_;
0088 MonitorElement *meEfficiencyBetaPhi_;
0089
0090 MonitorElement *meEfficiencyBlade_;
0091 MonitorElement *meEfficiencyXBlade_;
0092 MonitorElement *meEfficiencyYBlade_;
0093 MonitorElement *meEfficiencyAlphaBlade_;
0094 MonitorElement *meEfficiencyBetaBlade_;
0095
0096 MonitorElement *meEfficiencyDisk_;
0097 MonitorElement *meEfficiencyXDisk_;
0098 MonitorElement *meEfficiencyYDisk_;
0099 MonitorElement *meEfficiencyAlphaDisk_;
0100 MonitorElement *meEfficiencyBetaDisk_;
0101
0102 MonitorElement *meEfficiencyRing_;
0103 MonitorElement *meEfficiencyXRing_;
0104 MonitorElement *meEfficiencyYRing_;
0105 MonitorElement *meEfficiencyAlphaRing_;
0106 MonitorElement *meEfficiencyBetaRing_;
0107
0108
0109 MonitorElement *meValid_;
0110 MonitorElement *meValidX_;
0111 MonitorElement *meValidY_;
0112 MonitorElement *meValidAlpha_;
0113 MonitorElement *meValidBeta_;
0114
0115 MonitorElement *meValidLad_;
0116 MonitorElement *meValidXLad_;
0117 MonitorElement *meValidYLad_;
0118 MonitorElement *meValidModLad_;
0119 MonitorElement *meValidAlphaLad_;
0120 MonitorElement *meValidBetaLad_;
0121
0122 MonitorElement *meValidLay_;
0123 MonitorElement *meValidXLay_;
0124 MonitorElement *meValidYLay_;
0125 MonitorElement *meValidAlphaLay_;
0126 MonitorElement *meValidBetaLay_;
0127
0128 MonitorElement *meValidPhi_;
0129 MonitorElement *meValidXPhi_;
0130 MonitorElement *meValidYPhi_;
0131 MonitorElement *meValidAlphaPhi_;
0132 MonitorElement *meValidBetaPhi_;
0133
0134 MonitorElement *meValidBlade_;
0135 MonitorElement *meValidXBlade_;
0136 MonitorElement *meValidYBlade_;
0137 MonitorElement *meValidAlphaBlade_;
0138 MonitorElement *meValidBetaBlade_;
0139
0140 MonitorElement *meValidDisk_;
0141 MonitorElement *meValidXDisk_;
0142 MonitorElement *meValidYDisk_;
0143 MonitorElement *meValidAlphaDisk_;
0144 MonitorElement *meValidBetaDisk_;
0145
0146 MonitorElement *meValidRing_;
0147 MonitorElement *meValidXRing_;
0148 MonitorElement *meValidYRing_;
0149 MonitorElement *meValidAlphaRing_;
0150 MonitorElement *meValidBetaRing_;
0151
0152
0153 MonitorElement *meMissing_;
0154 MonitorElement *meMissingX_;
0155 MonitorElement *meMissingY_;
0156 MonitorElement *meMissingAlpha_;
0157 MonitorElement *meMissingBeta_;
0158
0159 MonitorElement *meMissingLad_;
0160 MonitorElement *meMissingXLad_;
0161 MonitorElement *meMissingYLad_;
0162 MonitorElement *meMissingModLad_;
0163 MonitorElement *meMissingAlphaLad_;
0164 MonitorElement *meMissingBetaLad_;
0165
0166 MonitorElement *meMissingLay_;
0167 MonitorElement *meMissingXLay_;
0168 MonitorElement *meMissingYLay_;
0169 MonitorElement *meMissingAlphaLay_;
0170 MonitorElement *meMissingBetaLay_;
0171
0172 MonitorElement *meMissingPhi_;
0173 MonitorElement *meMissingXPhi_;
0174 MonitorElement *meMissingYPhi_;
0175 MonitorElement *meMissingAlphaPhi_;
0176 MonitorElement *meMissingBetaPhi_;
0177
0178 MonitorElement *meMissingBlade_;
0179 MonitorElement *meMissingXBlade_;
0180 MonitorElement *meMissingYBlade_;
0181 MonitorElement *meMissingAlphaBlade_;
0182 MonitorElement *meMissingBetaBlade_;
0183
0184 MonitorElement *meMissingDisk_;
0185 MonitorElement *meMissingXDisk_;
0186 MonitorElement *meMissingYDisk_;
0187 MonitorElement *meMissingAlphaDisk_;
0188 MonitorElement *meMissingBetaDisk_;
0189
0190 MonitorElement *meMissingRing_;
0191 MonitorElement *meMissingXRing_;
0192 MonitorElement *meMissingYRing_;
0193 MonitorElement *meMissingAlphaRing_;
0194 MonitorElement *meMissingBetaRing_;
0195 };
0196
0197 #endif