CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1UpgradeTreeProducer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: L1TriggerDPG/L1Ntuples
4 // Class: L1UpgradeTreeProducer
5 //
13 //
14 // Original Author:
15 // Created:
16 // $Id: L1UpgradeTreeProducer.cc,v 1.8 2012/08/29 12:44:03 jbrooke Exp $
17 //
18 //
19 
20 // system include files
21 #include <memory>
22 
23 // framework
30 
31 // data formats
37 
38 // ROOT output stuff
41 #include "TTree.h"
42 
44 
45 //
46 // class declaration
47 //
48 
50 public:
52  ~L1UpgradeTreeProducer() override;
53 
54 private:
55  void beginJob(void) override;
56  void analyze(const edm::Event&, const edm::EventSetup&) override;
57  void endJob() override;
58 
59 public:
62 
63 private:
64  unsigned maxL1Upgrade_;
65 
66  // output file
68 
69  // tree
70  TTree* tree_;
71 
72  // EDM input tags
74  std::vector<edm::EDGetTokenT<l1t::TauBxCollection>> tauTokens_;
78 };
79 
81  egToken_ = consumes<l1t::EGammaBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("egToken"));
82  //tauToken_ = consumes<l1t::TauBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("tauToken"));
83  jetToken_ = consumes<l1t::JetBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("jetToken"));
84  sumToken_ = consumes<l1t::EtSumBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("sumToken"));
85  muonToken_ = consumes<l1t::MuonBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("muonToken"));
86 
87  const auto& taus = iConfig.getUntrackedParameter<std::vector<edm::InputTag>>("tauTokens");
88  for (const auto& tau : taus) {
89  tauTokens_.push_back(consumes<l1t::TauBxCollection>(tau));
90  }
91 
92  maxL1Upgrade_ = iConfig.getParameter<unsigned int>("maxL1Upgrade");
93 
95  l1UpgradeData = l1Upgrade->getData();
96 
97  // set up output
98  tree_ = fs_->make<TTree>("L1UpgradeTree", "L1UpgradeTree");
99  tree_->Branch("L1Upgrade", "L1Analysis::L1AnalysisL1UpgradeDataFormat", &l1UpgradeData, 32000, 3);
100 }
101 
103  // do anything here that needs to be done at desctruction time
104  // (e.g. close files, deallocate resources etc.)
105 }
106 
107 //
108 // member functions
109 //
110 
111 // ------------ method called to for each event ------------
113  l1Upgrade->Reset();
114 
119 
120  iEvent.getByToken(egToken_, eg);
121  iEvent.getByToken(jetToken_, jet);
122  iEvent.getByToken(sumToken_, sums);
123  iEvent.getByToken(muonToken_, muon);
124 
125  if (eg.isValid()) {
127  } else {
128  edm::LogWarning("MissingProduct") << "L1Upgrade Em not found. Branch will not be filled" << std::endl;
129  }
130  if (jet.isValid()) {
132  } else {
133  edm::LogWarning("MissingProduct") << "L1Upgrade Jets not found. Branch will not be filled" << std::endl;
134  }
135 
136  if (sums.isValid()) {
138  } else {
139  edm::LogWarning("MissingProduct") << "L1Upgrade EtSums not found. Branch will not be filled" << std::endl;
140  }
141 
142  if (muon.isValid()) {
144  } else {
145  edm::LogWarning("MissingProduct") << "L1Upgrade Muons not found. Branch will not be filled" << std::endl;
146  }
147 
148  for (auto& tautoken : tauTokens_) {
150  iEvent.getByToken(tautoken, tau);
151  if (tau.isValid()) {
153  } else {
154  edm::LogWarning("MissingProduct") << "L1Upgrade Tau not found. Branch will not be filled" << std::endl;
155  }
156  }
157 
158  tree_->Fill();
159 }
160 
161 // ------------ method called once each job just before starting event loop ------------
163 
164 // ------------ method called once each job just after ending the event loop ------------
166 
167 //define this as a plug-in
T getUntrackedParameter(std::string const &, T const &) const
std::vector< edm::EDGetTokenT< l1t::TauBxCollection > > tauTokens_
void SetMuon(const edm::Handle< l1t::MuonBxCollection > muon, unsigned maxL1Upgrade)
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::Service< TFileService > fs_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
void SetJet(const edm::Handle< l1t::JetBxCollection > jet, unsigned maxL1Upgrade)
void SetEm(const edm::Handle< l1t::EGammaBxCollection > em, unsigned maxL1Upgrade)
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
void beginJob(void) override
L1UpgradeTreeProducer(const edm::ParameterSet &)
L1Analysis::L1AnalysisL1Upgrade * l1Upgrade
int iEvent
Definition: GenABIO.cc:224
L1Analysis::L1AnalysisL1UpgradeDataFormat * l1UpgradeData
edm::EDGetTokenT< l1t::EGammaBxCollection > egToken_
edm::EDGetTokenT< l1t::EtSumBxCollection > sumToken_
bool isValid() const
Definition: HandleBase.h:70
void SetTau(const edm::Handle< l1t::TauBxCollection > tau, unsigned maxL1Upgrade)
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< l1t::MuonBxCollection > muonToken_
edm::EDGetTokenT< l1t::JetBxCollection > jetToken_
Log< level::Warning, false > LogWarning
void SetSum(const edm::Handle< l1t::EtSumBxCollection > sums, unsigned maxL1Upgrade)