Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:29:21

0001 #ifndef SiPixelRecHitsValid_h
0002 #define SiPixelRecHitsValid_h
0003 
0004 /** \class SiPixelRecHitsValid
0005  * File: SiPixelRecHitsValid.h
0006  * \author Jason Shaev, JHU
0007  * Created: 6/7/06
0008  */
0009 
0010 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
0011 
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0014 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0015 #include "SimTracker/TrackerHitAssociation/interface/TrackerHitAssociator.h"
0016 #include "DQMServices/Core/interface/DQMStore.h"
0017 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0018 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0019 
0020 #include <string>
0021 
0022 class DetId;
0023 class PSimHit;
0024 class PixelGeomDetUnit;
0025 class SiPixelRecHit;
0026 class TrackerTopology;
0027 class TrackerGeometry;
0028 
0029 class SiPixelRecHitsValid : public DQMEDAnalyzer {
0030 public:
0031   //Constructor
0032   SiPixelRecHitsValid(const edm::ParameterSet& conf);
0033 
0034   //Destructor
0035   ~SiPixelRecHitsValid() override;
0036 
0037 protected:
0038   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0039   void bookHistograms(DQMStore::IBooker& ibooker, const edm::Run& run, const edm::EventSetup& es) override;
0040 
0041 private:
0042   void fillBarrel(const SiPixelRecHit&, const PSimHit&, DetId, const PixelGeomDetUnit*, const TrackerTopology* tTopo);
0043   void fillForward(const SiPixelRecHit&, const PSimHit&, DetId, const PixelGeomDetUnit*, const TrackerTopology* tTopo);
0044 
0045   // Es Tokens
0046   const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoEsToken;
0047   const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> tGeomEsToken;
0048 
0049   //Clusters BPIX
0050   MonitorElement* clustYSizeModule[8];
0051   MonitorElement* clustXSizeLayer[3];
0052   MonitorElement* clustChargeLayer1Modules[8];
0053   MonitorElement* clustChargeLayer2Modules[8];
0054   MonitorElement* clustChargeLayer3Modules[8];
0055 
0056   //Cluster FPIX
0057   MonitorElement* clustXSizeDisk1Plaquettes[7];
0058   MonitorElement* clustXSizeDisk2Plaquettes[7];
0059   MonitorElement* clustYSizeDisk1Plaquettes[7];
0060   MonitorElement* clustYSizeDisk2Plaquettes[7];
0061   MonitorElement* clustChargeDisk1Plaquettes[7];
0062   MonitorElement* clustChargeDisk2Plaquettes[7];
0063 
0064   //RecHits BPIX
0065   MonitorElement* recHitXResAllB;
0066   MonitorElement* recHitYResAllB;
0067   MonitorElement* recHitXFullModules;
0068   MonitorElement* recHitXHalfModules;
0069   MonitorElement* recHitYAllModules;
0070   MonitorElement* recHitXResFlippedLadderLayers[3];
0071   MonitorElement* recHitXResNonFlippedLadderLayers[3];
0072   MonitorElement* recHitYResLayer1Modules[8];
0073   MonitorElement* recHitYResLayer2Modules[8];
0074   MonitorElement* recHitYResLayer3Modules[8];
0075   MonitorElement* recHitBunchB;
0076   MonitorElement* recHitEventB;
0077   MonitorElement* recHitNsimHitLayer[3];
0078 
0079   //RecHits FPIX
0080   MonitorElement* recHitXResAllF;
0081   MonitorElement* recHitYResAllF;
0082   MonitorElement* recHitXPlaquetteSize1;
0083   MonitorElement* recHitXPlaquetteSize2;
0084   MonitorElement* recHitYPlaquetteSize2;
0085   MonitorElement* recHitYPlaquetteSize3;
0086   MonitorElement* recHitYPlaquetteSize4;
0087   MonitorElement* recHitYPlaquetteSize5;
0088   MonitorElement* recHitXResDisk1Plaquettes[7];
0089   MonitorElement* recHitXResDisk2Plaquettes[7];
0090   MonitorElement* recHitYResDisk1Plaquettes[7];
0091   MonitorElement* recHitYResDisk2Plaquettes[7];
0092   MonitorElement* recHitBunchF;
0093   MonitorElement* recHitEventF;
0094   MonitorElement* recHitNsimHitDisk1;
0095   MonitorElement* recHitNsimHitDisk2;
0096 
0097   // Pull distributions
0098   //RecHits BPIX
0099   MonitorElement* recHitXPullAllB;
0100   MonitorElement* recHitYPullAllB;
0101 
0102   MonitorElement* recHitXPullFlippedLadderLayers[3];
0103   MonitorElement* recHitXPullNonFlippedLadderLayers[3];
0104   MonitorElement* recHitYPullLayer1Modules[8];
0105   MonitorElement* recHitYPullLayer2Modules[8];
0106   MonitorElement* recHitYPullLayer3Modules[8];
0107 
0108   //RecHits FPIX
0109   MonitorElement* recHitXPullAllF;
0110   MonitorElement* recHitYPullAllF;
0111 
0112   MonitorElement* recHitXPullDisk1Plaquettes[7];
0113   MonitorElement* recHitXPullDisk2Plaquettes[7];
0114   MonitorElement* recHitYPullDisk1Plaquettes[7];
0115   MonitorElement* recHitYPullDisk2Plaquettes[7];
0116 
0117   TrackerHitAssociator::Config trackerHitAssociatorConfig_;
0118   edm::EDGetTokenT<SiPixelRecHitCollection> siPixelRecHitCollectionToken_;
0119 };
0120 
0121 #endif