Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-05-21 22:40:14

0001 #ifndef RPCDigiValid_h
0002 #define RPCDigiValid_h
0003 
0004 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 #include "FWCore/Framework/interface/ESHandle.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/EventSetup.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 
0011 #include <string>
0012 
0013 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
0014 #include "FWCore/Utilities/interface/EDGetToken.h"
0015 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0016 
0017 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
0018 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0019 
0020 class RPCDigiValid : public DQMEDAnalyzer {
0021 public:
0022   RPCDigiValid(const edm::ParameterSet &ps);
0023   ~RPCDigiValid() override;
0024 
0025 protected:
0026   void analyze(const edm::Event &e, const edm::EventSetup &c) override;
0027   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0028 
0029 private:
0030   MonitorElement *xyview;
0031   MonitorElement *rzview;
0032   MonitorElement *Res;
0033   MonitorElement *ResWmin2;
0034   MonitorElement *ResWmin1;
0035   MonitorElement *ResWzer0;
0036   MonitorElement *ResWplu1;
0037   MonitorElement *ResWplu2;
0038   MonitorElement *BxDist;
0039   MonitorElement *StripProf;
0040 
0041   // barrel layers residuals
0042   MonitorElement *ResLayer1_barrel;
0043   MonitorElement *ResLayer2_barrel;
0044   MonitorElement *ResLayer3_barrel;
0045   MonitorElement *ResLayer4_barrel;
0046   MonitorElement *ResLayer5_barrel;
0047   MonitorElement *ResLayer6_barrel;
0048 
0049   // members for EndCap's disks:
0050   MonitorElement *ResDmin1;
0051   MonitorElement *ResDmin2;
0052   MonitorElement *ResDmin3;
0053   MonitorElement *ResDplu1;
0054   MonitorElement *ResDplu2;
0055   MonitorElement *ResDplu3;
0056 
0057   // endcap layters residuals
0058   MonitorElement *Res_Endcap1_Ring2_A;
0059   MonitorElement *Res_Endcap1_Ring2_B;
0060   MonitorElement *Res_Endcap1_Ring2_C;
0061 
0062   MonitorElement *Res_Endcap23_Ring2_A;
0063   MonitorElement *Res_Endcap23_Ring2_B;
0064   MonitorElement *Res_Endcap23_Ring2_C;
0065 
0066   MonitorElement *Res_Endcap123_Ring3_A;
0067   MonitorElement *Res_Endcap123_Ring3_B;
0068   MonitorElement *Res_Endcap123_Ring3_C;
0069 
0070   // 4 endcap
0071   MonitorElement *ResDmin4;
0072   MonitorElement *ResDplu4;
0073   MonitorElement *BxDisc_4Plus;
0074   MonitorElement *BxDisc_4Min;
0075   MonitorElement *xyvDplu4;
0076   MonitorElement *xyvDmin4;
0077 
0078   // Timing information
0079   MonitorElement *hDigiTimeAll, *hDigiTime, *hDigiTimeIRPC, *hDigiTimeNoIRPC;
0080 
0081   std::string outputFile_;
0082   std::string digiLabel;
0083 
0084   // Tokens for accessing run data. Used for passing to edm::Event. - stanislav
0085   edm::EDGetTokenT<edm::PSimHitContainer> simHitToken;
0086   edm::EDGetTokenT<RPCDigiCollection> rpcDigiToken;
0087 
0088   edm::ESGetToken<RPCGeometry, MuonGeometryRecord> rpcGeomToken_;
0089 };
0090 
0091 #endif