File indexing completed on 2024-04-06 12:01:17
0001 #include "CommonTools/UtilAlgos/interface/TFileService.h"
0002 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0003 #include "FWCore/ServiceRegistry/interface/Service.h"
0004 #include "TH1.h"
0005 #include "TTree.h"
0006 class TestTFileServiceAnalyzer : public edm::one::EDAnalyzer<edm::one::SharedResources> {
0007 public:
0008
0009 TestTFileServiceAnalyzer(const edm::ParameterSet&);
0010
0011 private:
0012
0013 void analyze(const edm::Event&, const edm::EventSetup&) override;
0014
0015
0016 TH1F *h_test1, *h_test2;
0017
0018 TTree* tree_test;
0019
0020 int testInt;
0021
0022 std::string dir1_, dir2_;
0023 };
0024
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 using namespace edm;
0027 using namespace std;
0028
0029 TestTFileServiceAnalyzer::TestTFileServiceAnalyzer(const ParameterSet& cfg)
0030 : dir1_(cfg.getParameter<string>("dir1")), dir2_(cfg.getParameter<string>("dir2")) {
0031 usesResource(TFileService::kSharedResource);
0032 edm::Service<TFileService> fs;
0033 if (dir1_.empty()) {
0034 h_test1 = fs->make<TH1F>("test1", "test histogram #1", 100, 0., 100.);
0035 } else {
0036 TFileDirectory dir1 = fs->mkdir(dir1_);
0037 h_test1 = dir1.make<TH1F>("test1", "test histogram #1", 100, 0., 100.);
0038 }
0039 if (dir2_.empty()) {
0040 h_test2 = fs->make<TH1F>("test2", "test histogram #2", 100, 0., 100.);
0041 } else {
0042 TFileDirectory dir2 = fs->mkdir(dir2_);
0043 h_test2 = dir2.make<TH1F>("test2", "test histogram #2", 100, 0., 100.);
0044 }
0045 tree_test = fs->make<TTree>("Test", "Test Tree", 1);
0046 tree_test->Branch("TestBranch", &testInt, "testInt/I");
0047 }
0048
0049 void TestTFileServiceAnalyzer::analyze(const Event& evt, const EventSetup&) {
0050 h_test1->Fill(50.);
0051 h_test2->Fill(60.);
0052
0053 testInt = 70;
0054 tree_test->Fill();
0055 }
0056
0057 #include "FWCore/Framework/interface/MakerMacros.h"
0058
0059 DEFINE_FWK_MODULE(TestTFileServiceAnalyzer);