Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DQM_PhysicsObjectMonitoring_PhysicsObjectsMonitor_H
0002 #define DQM_PhysicsObjectMonitoring_PhysicsObjectsMonitor_H
0003 
0004 /** \class PhysicsObjectsMonitor
0005  *  For now: Analyzer of StandAlone muon tracks
0006  *  Later: Add other detectors and more Reco
0007  *
0008  *  \author M. Mulders - CERN <martijn.mulders@cern.ch>
0009  *  Based on STAMuonAnalyzer by R. Bellan - INFN Torino
0010  *<riccardo.bellan@cern.ch>
0011  */
0012 
0013 // Base Class Headers
0014 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0015 #include "DQMServices/Core/interface/DQMStore.h"
0016 #include "FWCore/ServiceRegistry/interface/Service.h"
0017 //#include "DataFormats/TrackReco/interface/Track.h"
0018 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0019 
0020 namespace edm {
0021   class ParameterSet;
0022   class Event;
0023   class EventSetup;
0024 }  // namespace edm
0025 
0026 class TFile;
0027 class TH1F;
0028 class TH2F;
0029 class MagneticField;
0030 class IdealMagneticFieldRecord;
0031 
0032 class PhysicsObjectsMonitor : public DQMEDAnalyzer {
0033 public:
0034   /// Constructor
0035   PhysicsObjectsMonitor(const edm::ParameterSet &pset);
0036   /// Destructor
0037   ~PhysicsObjectsMonitor() override;
0038   // Operations
0039   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0040   void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
0041 
0042 private:
0043   std::string theSTAMuonLabel;
0044   std::string theSeedCollectionLabel;
0045 
0046   // Histograms Simulation
0047   MonitorElement *hPres;
0048   MonitorElement *h1_Pres;
0049 
0050   // Histograms MTCC data
0051   MonitorElement *charge;
0052   MonitorElement *ptot;
0053   MonitorElement *pt;
0054   MonitorElement *px;
0055   MonitorElement *py;
0056   MonitorElement *pz;
0057   MonitorElement *Nmuon;
0058   MonitorElement *Nrechits;
0059   MonitorElement *NDThits;
0060   MonitorElement *NCSChits;
0061   MonitorElement *DTvsCSC;
0062   MonitorElement *DTvsRPC;
0063   MonitorElement *CSCvsRPC;
0064   MonitorElement *NRPChits;
0065 
0066   std::string theDataType;
0067 
0068   // define Token(-s)
0069   edm::EDGetTokenT<reco::TrackCollection> theSTAMuonToken_;
0070   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magFiledToken_;
0071 };
0072 #endif