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