Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:23

0001 // Package:    SiPixelMonitorTrack
0002 // Class:      SiPixelTrackResidualModule
0003 //
0004 // class SiPixelTrackResidualModule SiPixelTrackResidualModule.h
0005 //       DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualModule.h
0006 //
0007 // Description: SiPixel hit-to-track residual data quality monitoring modules
0008 // Implementation: prototype -> improved -> never final - end of the 1st step
0009 //
0010 // Original Author: Shan-Huei Chuang
0011 //         Created: Fri Mar 23 18:41:42 CET 2007
0012 //         Updated by Lukas Wehrli (plots for clusters on/off track added)
0013 
0014 #ifndef SiPixelMonitorTrack_SiPixelTrackResidualModule_h
0015 #define SiPixelMonitorTrack_SiPixelTrackResidualModule_h
0016 
0017 #include "DQMServices/Core/interface/DQMStore.h"
0018 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementVector.h"
0019 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
0020 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0021 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0022 #include <cstdint>
0023 
0024 namespace edm {
0025   class EventSetup;
0026 }
0027 
0028 class SiPixelTrackResidualModule {
0029 public:
0030   typedef dqm::reco::DQMStore DQMStore;
0031   typedef dqm::reco::MonitorElement MonitorElement;
0032 
0033   SiPixelTrackResidualModule();
0034   SiPixelTrackResidualModule(const uint32_t);
0035   ~SiPixelTrackResidualModule();
0036 
0037   void book(const edm::ParameterSet &,
0038             const TrackerTopology *,
0039             DQMStore::IBooker &,
0040             bool reducedSet = true,
0041             int type = 0,
0042             bool isUpgrade = false);
0043   void fill(const Measurement2DVector &,
0044             bool reducedSet = true,
0045             bool modon = true,
0046             bool ladon = true,
0047             bool layon = true,
0048             bool phion = true,
0049             bool bladeon = true,
0050             bool diskon = true,
0051             bool ringon = true);
0052   void fill(const SiPixelCluster &clust,
0053             bool onTrack,
0054             double corrCharge,
0055             bool reducedSet,
0056             bool modon,
0057             bool ladon,
0058             bool layon,
0059             bool phion,
0060             bool bladeon,
0061             bool diskon,
0062             bool ringon);
0063   void nfill(int onTrack,
0064              int offTrack,
0065              bool reducedSet,
0066              bool modon,
0067              bool ladon,
0068              bool layon,
0069              bool phion,
0070              bool bladeon,
0071              bool diskon,
0072              bool ringon);
0073 
0074 private:
0075   uint32_t id_;
0076   bool bBookTracks;
0077 
0078   MonitorElement *meResidualX_;
0079   MonitorElement *meResidualY_;
0080   MonitorElement *meNClusters_onTrack_;
0081   MonitorElement *meCharge_onTrack_;
0082   MonitorElement *meSize_onTrack_;
0083   MonitorElement *meSizeX_onTrack_;
0084   MonitorElement *meSizeY_onTrack_;
0085   MonitorElement *meNClusters_offTrack_;
0086   MonitorElement *meCharge_offTrack_;
0087   MonitorElement *meSize_offTrack_;
0088   MonitorElement *meSizeX_offTrack_;
0089   MonitorElement *meSizeY_offTrack_;
0090 
0091   // barrel
0092   MonitorElement *meResidualXLad_;
0093   MonitorElement *meResidualYLad_;
0094   MonitorElement *meNClusters_onTrackLad_;
0095   MonitorElement *meCharge_onTrackLad_;
0096   MonitorElement *meSize_onTrackLad_;
0097   MonitorElement *meSizeX_onTrackLad_;
0098   MonitorElement *meSizeY_onTrackLad_;
0099   MonitorElement *meNClusters_offTrackLad_;
0100   MonitorElement *meCharge_offTrackLad_;
0101   MonitorElement *meSize_offTrackLad_;
0102   MonitorElement *meSizeX_offTrackLad_;
0103   MonitorElement *meSizeY_offTrackLad_;
0104 
0105   MonitorElement *meResidualXLay_;
0106   MonitorElement *meResidualYLay_;
0107   MonitorElement *meNClusters_onTrackLay_;
0108   MonitorElement *meCharge_onTrackLay_;
0109   MonitorElement *meSize_onTrackLay_;
0110   MonitorElement *meSizeX_onTrackLay_;
0111   MonitorElement *meSizeY_onTrackLay_;
0112   MonitorElement *meNClusters_offTrackLay_;
0113   MonitorElement *meCharge_offTrackLay_;
0114   MonitorElement *meSize_offTrackLay_;
0115   MonitorElement *meSizeX_offTrackLay_;
0116   MonitorElement *meSizeY_offTrackLay_;
0117 
0118   MonitorElement *meResidualXPhi_;
0119   MonitorElement *meResidualYPhi_;
0120   MonitorElement *meNClusters_onTrackPhi_;
0121   MonitorElement *meCharge_onTrackPhi_;
0122   MonitorElement *meSize_onTrackPhi_;
0123   MonitorElement *meSizeX_onTrackPhi_;
0124   MonitorElement *meSizeY_onTrackPhi_;
0125   MonitorElement *meNClusters_offTrackPhi_;
0126   MonitorElement *meCharge_offTrackPhi_;
0127   MonitorElement *meSize_offTrackPhi_;
0128   MonitorElement *meSizeX_offTrackPhi_;
0129   MonitorElement *meSizeY_offTrackPhi_;
0130 
0131   // forward
0132   MonitorElement *meResidualXBlade_;
0133   MonitorElement *meResidualYBlade_;
0134   MonitorElement *meNClusters_onTrackBlade_;
0135   MonitorElement *meCharge_onTrackBlade_;
0136   MonitorElement *meSize_onTrackBlade_;
0137   MonitorElement *meSizeX_onTrackBlade_;
0138   MonitorElement *meSizeY_onTrackBlade_;
0139   MonitorElement *meNClusters_offTrackBlade_;
0140   MonitorElement *meCharge_offTrackBlade_;
0141   MonitorElement *meSize_offTrackBlade_;
0142   MonitorElement *meSizeX_offTrackBlade_;
0143   MonitorElement *meSizeY_offTrackBlade_;
0144 
0145   MonitorElement *meResidualXDisk_;
0146   MonitorElement *meResidualYDisk_;
0147   MonitorElement *meNClusters_onTrackDisk_;
0148   MonitorElement *meCharge_onTrackDisk_;
0149   MonitorElement *meSize_onTrackDisk_;
0150   MonitorElement *meSizeX_onTrackDisk_;
0151   MonitorElement *meSizeY_onTrackDisk_;
0152   MonitorElement *meNClusters_offTrackDisk_;
0153   MonitorElement *meCharge_offTrackDisk_;
0154   MonitorElement *meSize_offTrackDisk_;
0155   MonitorElement *meSizeX_offTrackDisk_;
0156   MonitorElement *meSizeY_offTrackDisk_;
0157 
0158   MonitorElement *meResidualXRing_;
0159   MonitorElement *meResidualYRing_;
0160   MonitorElement *meNClusters_onTrackRing_;
0161   MonitorElement *meCharge_onTrackRing_;
0162   MonitorElement *meSize_onTrackRing_;
0163   MonitorElement *meSizeX_onTrackRing_;
0164   MonitorElement *meSizeY_onTrackRing_;
0165   MonitorElement *meNClusters_offTrackRing_;
0166   MonitorElement *meCharge_offTrackRing_;
0167   MonitorElement *meSize_offTrackRing_;
0168   MonitorElement *meSizeX_offTrackRing_;
0169   MonitorElement *meSizeY_offTrackRing_;
0170 };
0171 
0172 #endif