File indexing completed on 2023-10-25 10:01:14
0001 #ifndef RecoMuon_L3MuonIsolationProducer_L3MuonIsolationAnalyzer_H
0002 #define RecoMuon_L3MuonIsolationProducer_L3MuonIsolationAnalyzer_H
0003
0004
0005
0006
0007
0008
0009 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0010 #include "FWCore/Utilities/interface/InputTag.h"
0011 #include "RecoMuon/MuonIsolation/interface/Cuts.h"
0012
0013 namespace edm {
0014 class ParameterSet;
0015 class Event;
0016 class EventSetup;
0017 }
0018
0019 class TFile;
0020 class TH1F;
0021 class TH2F;
0022
0023 class L3MuonIsolationAnalyzer : public edm::one::EDAnalyzer<> {
0024 public:
0025
0026 L3MuonIsolationAnalyzer(const edm::ParameterSet& pset);
0027
0028
0029 ~L3MuonIsolationAnalyzer() override;
0030
0031
0032 void analyze(const edm::Event& event, const edm::EventSetup& eventSetup) override;
0033
0034 void beginJob() override;
0035 void endJob() override;
0036
0037 private:
0038 void Puts(const char* fmt, ...);
0039
0040
0041 edm::InputTag theIsolationLabel;
0042
0043
0044 std::vector<double> theConeCases;
0045 double thePtMin;
0046 double thePtMax;
0047 unsigned int thePtBins;
0048
0049
0050 muonisolation::Cuts theCuts;
0051
0052
0053 std::string theRootFileName;
0054 TFile* theRootFile;
0055
0056
0057 std::string theTxtFileName;
0058 FILE* theTxtFile;
0059
0060
0061 TH1F* hPtSum;
0062 TH1F* hEffVsCone;
0063 TH1F* hEffVsPt;
0064 std::vector<TH1F*> hEffVsPtArray;
0065
0066
0067 unsigned int numberOfEvents;
0068 unsigned int numberOfMuons;
0069 };
0070 #endif