Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef SiPixelMonitorTrack_SiPixelHitEfficiencyModule_h
00015 #define SiPixelMonitorTrack_SiPixelHitEfficiencyModule_h
00016
00017
00018 #include <boost/cstdint.hpp>
00019 #include <utility>
00020
00021
00022 #include "DQMServices/Core/interface/MonitorElement.h"
00023 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
00024 #include "DataFormats/TrajectoryState/interface/LocalTrajectoryParameters.h"
00025
00026 class SiPixelHitEfficiencyModule {
00027 public:
00028 SiPixelHitEfficiencyModule();
00029 SiPixelHitEfficiencyModule(const uint32_t);
00030 ~SiPixelHitEfficiencyModule();
00031
00032 void book(const edm::ParameterSet&, int type=0);
00033 void fill(LocalTrajectoryParameters ltp, bool isHitValid, bool modon=true, bool ladon=true, bool layon=true, bool phion = true, bool bladeon=true, bool diskon=true, bool ringon=true);
00034 void computeEfficiencies(bool modon=true, bool ladon=true, bool layon=true, bool phion = true, bool bladeon=true, bool diskon=true, bool ringon=true);
00035 std::pair<double,double> eff(double nValid, double nMissing);
00036
00037 private:
00038 uint32_t id_;
00039 bool bBookTracks;
00040 bool debug_;
00041 bool updateEfficiencies;
00042
00043
00044 MonitorElement* meEfficiency_;
00045 MonitorElement* meEfficiencyX_;
00046 MonitorElement* meEfficiencyY_;
00047 MonitorElement* meEfficiencyAlpha_;
00048 MonitorElement* meEfficiencyBeta_;
00049
00050 MonitorElement* meEfficiencyLad_;
00051 MonitorElement* meEfficiencyXLad_;
00052 MonitorElement* meEfficiencyYLad_;
00053 MonitorElement* meEfficiencyAlphaLad_;
00054 MonitorElement* meEfficiencyBetaLad_;
00055
00056 MonitorElement* meEfficiencyLay_;
00057 MonitorElement* meEfficiencyXLay_;
00058 MonitorElement* meEfficiencyYLay_;
00059 MonitorElement* meEfficiencyAlphaLay_;
00060 MonitorElement* meEfficiencyBetaLay_;
00061
00062 MonitorElement* meEfficiencyPhi_;
00063 MonitorElement* meEfficiencyXPhi_;
00064 MonitorElement* meEfficiencyYPhi_;
00065 MonitorElement* meEfficiencyAlphaPhi_;
00066 MonitorElement* meEfficiencyBetaPhi_;
00067
00068 MonitorElement* meEfficiencyBlade_;
00069 MonitorElement* meEfficiencyXBlade_;
00070 MonitorElement* meEfficiencyYBlade_;
00071 MonitorElement* meEfficiencyAlphaBlade_;
00072 MonitorElement* meEfficiencyBetaBlade_;
00073
00074 MonitorElement* meEfficiencyDisk_;
00075 MonitorElement* meEfficiencyXDisk_;
00076 MonitorElement* meEfficiencyYDisk_;
00077 MonitorElement* meEfficiencyAlphaDisk_;
00078 MonitorElement* meEfficiencyBetaDisk_;
00079
00080 MonitorElement* meEfficiencyRing_;
00081 MonitorElement* meEfficiencyXRing_;
00082 MonitorElement* meEfficiencyYRing_;
00083 MonitorElement* meEfficiencyAlphaRing_;
00084 MonitorElement* meEfficiencyBetaRing_;
00085
00086
00087 MonitorElement* meValid_;
00088 MonitorElement* meValidX_;
00089 MonitorElement* meValidY_;
00090 MonitorElement* meValidAlpha_;
00091 MonitorElement* meValidBeta_;
00092
00093 MonitorElement* meValidLad_;
00094 MonitorElement* meValidXLad_;
00095 MonitorElement* meValidYLad_;
00096 MonitorElement* meValidAlphaLad_;
00097 MonitorElement* meValidBetaLad_;
00098
00099 MonitorElement* meValidLay_;
00100 MonitorElement* meValidXLay_;
00101 MonitorElement* meValidYLay_;
00102 MonitorElement* meValidAlphaLay_;
00103 MonitorElement* meValidBetaLay_;
00104
00105 MonitorElement* meValidPhi_;
00106 MonitorElement* meValidXPhi_;
00107 MonitorElement* meValidYPhi_;
00108 MonitorElement* meValidAlphaPhi_;
00109 MonitorElement* meValidBetaPhi_;
00110
00111 MonitorElement* meValidBlade_;
00112 MonitorElement* meValidXBlade_;
00113 MonitorElement* meValidYBlade_;
00114 MonitorElement* meValidAlphaBlade_;
00115 MonitorElement* meValidBetaBlade_;
00116
00117 MonitorElement* meValidDisk_;
00118 MonitorElement* meValidXDisk_;
00119 MonitorElement* meValidYDisk_;
00120 MonitorElement* meValidAlphaDisk_;
00121 MonitorElement* meValidBetaDisk_;
00122
00123 MonitorElement* meValidRing_;
00124 MonitorElement* meValidXRing_;
00125 MonitorElement* meValidYRing_;
00126 MonitorElement* meValidAlphaRing_;
00127 MonitorElement* meValidBetaRing_;
00128
00129
00130 MonitorElement* meMissing_;
00131 MonitorElement* meMissingX_;
00132 MonitorElement* meMissingY_;
00133 MonitorElement* meMissingAlpha_;
00134 MonitorElement* meMissingBeta_;
00135
00136 MonitorElement* meMissingLad_;
00137 MonitorElement* meMissingXLad_;
00138 MonitorElement* meMissingYLad_;
00139 MonitorElement* meMissingAlphaLad_;
00140 MonitorElement* meMissingBetaLad_;
00141
00142 MonitorElement* meMissingLay_;
00143 MonitorElement* meMissingXLay_;
00144 MonitorElement* meMissingYLay_;
00145 MonitorElement* meMissingAlphaLay_;
00146 MonitorElement* meMissingBetaLay_;
00147
00148 MonitorElement* meMissingPhi_;
00149 MonitorElement* meMissingXPhi_;
00150 MonitorElement* meMissingYPhi_;
00151 MonitorElement* meMissingAlphaPhi_;
00152 MonitorElement* meMissingBetaPhi_;
00153
00154 MonitorElement* meMissingBlade_;
00155 MonitorElement* meMissingXBlade_;
00156 MonitorElement* meMissingYBlade_;
00157 MonitorElement* meMissingAlphaBlade_;
00158 MonitorElement* meMissingBetaBlade_;
00159
00160 MonitorElement* meMissingDisk_;
00161 MonitorElement* meMissingXDisk_;
00162 MonitorElement* meMissingYDisk_;
00163 MonitorElement* meMissingAlphaDisk_;
00164 MonitorElement* meMissingBetaDisk_;
00165
00166 MonitorElement* meMissingRing_;
00167 MonitorElement* meMissingXRing_;
00168 MonitorElement* meMissingYRing_;
00169 MonitorElement* meMissingAlphaRing_;
00170 MonitorElement* meMissingBetaRing_;
00171 };
00172
00173 #endif