Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:38

0001 #ifndef MuonSeedsAnalyzer_H
0002 #define MuonSeedsAnalyzer_H
0003 
0004 /** \class MuonSeedsAnalyzer
0005  *
0006  *  DQM monitoring source for muon track seeds
0007  *
0008  *  \author G. Mila - INFN Torino
0009  */
0010 
0011 #include <memory>
0012 #include <fstream>
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/MakerMacros.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017 #include "FWCore/ServiceRegistry/interface/Service.h"
0018 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0019 #include "DQMServices/Core/interface/DQMStore.h"
0020 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
0021 
0022 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
0023 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0024 
0025 class TrajectoryStateOnSurface;
0026 class TrajectorySeed;
0027 class MuonServiceProxy;
0028 
0029 class MuonSeedsAnalyzer : public DQMEDAnalyzer {
0030 public:
0031   /// Constructor
0032   MuonSeedsAnalyzer(const edm::ParameterSet&);
0033 
0034   /// Destructor
0035   ~MuonSeedsAnalyzer() override;
0036 
0037   void analyze(const edm::Event&, const edm::EventSetup&) override;
0038   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0039 
0040 private:
0041   // ----------member data ---------------------------
0042   MuonServiceProxy* theService;
0043   edm::ParameterSet parameters;
0044 
0045   // ------- Data ----
0046   edm::EDGetTokenT<TrajectorySeedCollection> theSeedsCollectionLabel_;
0047 
0048   // Switch for verbosity
0049   std::string metname;
0050 
0051   //histo binning parameters
0052   int seedHitBin;
0053   double seedHitMin;
0054   double seedHitMax;
0055 
0056   int PhiBin;
0057   double PhiMin;
0058   double PhiMax;
0059 
0060   int EtaBin;
0061   double EtaMin;
0062   double EtaMax;
0063 
0064   int ThetaBin;
0065   double ThetaMin;
0066   double ThetaMax;
0067 
0068   int Chi2Bin;
0069   double Chi2Min;
0070   double Chi2Max;
0071 
0072   int seedPtBin;
0073   double seedPtMin;
0074   double seedPtMax;
0075 
0076   int seedPxyzBin;
0077   double seedPxyzMin;
0078   double seedPxyzMax;
0079 
0080   int pErrBin;
0081   double pErrMin;
0082   double pErrMax;
0083 
0084   int pxyzErrBin;
0085   double pxyzErrMin;
0086   double pxyzErrMax;
0087 
0088   int phiErrBin;
0089   double phiErrMin;
0090   double phiErrMax;
0091 
0092   int etaErrBin;
0093   double etaErrMin;
0094   double etaErrMax;
0095 
0096   //the histos
0097   MonitorElement* NumberOfRecHitsPerSeed;
0098   MonitorElement* seedPhi;
0099   MonitorElement* seedEta;
0100   MonitorElement* seedTheta;
0101   MonitorElement* seedPt;
0102   MonitorElement* seedPx;
0103   MonitorElement* seedPy;
0104   MonitorElement* seedPz;
0105   MonitorElement* seedPtErr;
0106   MonitorElement* seedPtErrVsPhi;
0107   MonitorElement* seedPtErrVsEta;
0108   MonitorElement* seedPtErrVsPt;
0109   MonitorElement* seedPxErr;
0110   MonitorElement* seedPyErr;
0111   MonitorElement* seedPzErr;
0112   MonitorElement* seedPErr;
0113   MonitorElement* seedPErrVsPhi;
0114   MonitorElement* seedPErrVsEta;
0115   MonitorElement* seedPErrVsPt;
0116   MonitorElement* seedPhiErr;
0117   MonitorElement* seedEtaErr;
0118 };
0119 #endif