CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/DQM/SiPixelMonitorTrack/interface/SiPixelHitEfficiencyModule.h

Go to the documentation of this file.
00001 // Package:    SiPixelMonitorTrack
00002 // Class:      SiPixelHitEfficiencyModule
00003 // 
00004 // class SiPixelHitEfficiencyModule SiPixelHitEfficiencyModule.h 
00005 //       DQM/SiPixelMonitorTrack/src/SiPixelHitEfficiencyModule.h
00006 //
00007 // Description: SiPixel hit efficiency data quality monitoring modules
00008 // Implementation: prototype -> improved -> never final - end of the 1st step 
00009 //
00010 // Original Authors: Romain Rougny & Luca Mucibello
00011 //         Created: Mar Nov 10 13:29:00 CET 2009
00012 
00013 
00014 #ifndef SiPixelMonitorTrack_SiPixelHitEfficiencyModule_h
00015 #define SiPixelMonitorTrack_SiPixelHitEfficiencyModule_h
00016 
00017 
00018 #include <boost/cstdint.hpp>
00019 #include <utility>
00020 
00021 //#include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementVector.h"
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, bool isUpgrade=false);
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     //EFFICIENCY
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     //VALID HITS
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     //MISSING HITS
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