Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:14

0001 #ifndef RecoMuon_StandAloneMuonProducer_STAMuonAnalyzer_H
0002 #define RecoMuon_StandAloneMuonProducer_STAMuonAnalyzer_H
0003 
0004 /** \class STAMuonAnalyzer
0005  *  Analyzer of the StandAlone muon tracks
0006  *
0007  *  \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
0008  */
0009 
0010 // Base Class Headers
0011 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0012 
0013 namespace edm {
0014   class ParameterSet;
0015   class Event;
0016   class EventSetup;
0017 }  // namespace edm
0018 
0019 class TFile;
0020 class TH1F;
0021 class TH2F;
0022 class MagneticField;
0023 class IdealMagneticFieldRecord;
0024 class GlobalTrackingGeometry;
0025 class GlobalTrackingGeometryRecord;
0026 
0027 class STAMuonAnalyzer : public edm::one::EDAnalyzer<> {
0028 public:
0029   /// Constructor
0030   STAMuonAnalyzer(const edm::ParameterSet &pset);
0031 
0032   /// Destructor
0033   ~STAMuonAnalyzer() override;
0034 
0035   // Operations
0036 
0037   void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
0038 
0039   void beginJob() override;
0040   void endJob() override;
0041 
0042 protected:
0043 private:
0044   std::string theRootFileName;
0045   TFile *theFile;
0046 
0047   std::string theSTAMuonLabel;
0048   std::string theSeedCollectionLabel;
0049 
0050   // Histograms
0051   TH1F *hPtRec;
0052   TH1F *hPtSim;
0053   TH1F *hPres;
0054   TH1F *h1_Pres;
0055   TH1F *hPTDiff;
0056   TH1F *hPTDiff2;
0057   TH2F *hPTDiffvsEta;
0058   TH2F *hPTDiffvsPhi;
0059 
0060   // Counters
0061   int numberOfSimTracks;
0062   int numberOfRecTracks;
0063 
0064   std::string theDataType;
0065   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> theFieldToken;
0066   edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> theGeomToken;
0067 };
0068 #endif