CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
L1UpgradeTreeProducer Class Reference

#include <L1TriggerDPG/L1Ntuples/src/L1UpgradeTreeProducer.cc>

Inheritance diagram for L1UpgradeTreeProducer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 L1UpgradeTreeProducer (const edm::ParameterSet &)
 
 ~L1UpgradeTreeProducer () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

L1Analysis::L1AnalysisL1Upgradel1Upgrade
 
L1Analysis::L1AnalysisL1UpgradeDataFormatl1UpgradeData
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob (void) override
 
void endJob () override
 

Private Attributes

edm::EDGetTokenT< l1t::EGammaBxCollectionegToken_
 
edm::Service< TFileServicefs_
 
edm::EDGetTokenT< l1t::JetBxCollectionjetToken_
 
unsigned maxL1Upgrade_
 
edm::EDGetTokenT< l1t::MuonBxCollectionmuonToken_
 
edm::EDGetTokenT< l1t::EtSumBxCollectionsumToken_
 
std::vector< edm::EDGetTokenT< l1t::TauBxCollection > > tauTokens_
 
TTree * tree_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: Produce L1 Extra tree

Implementation:

Definition at line 50 of file L1UpgradeTreeProducer.cc.

Constructor & Destructor Documentation

L1UpgradeTreeProducer::L1UpgradeTreeProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 87 of file L1UpgradeTreeProducer.cc.

References egToken_, fs_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), jetToken_, l1Upgrade, l1UpgradeData, TFileService::make(), maxL1Upgrade_, muonToken_, sumToken_, metsig::tau, nano_cff::taus, tauTokens_, and tree_.

88 {
89 
90  egToken_ = consumes<l1t::EGammaBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("egToken"));
91  //tauToken_ = consumes<l1t::TauBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("tauToken"));
92  jetToken_ = consumes<l1t::JetBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("jetToken"));
93  sumToken_ = consumes<l1t::EtSumBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("sumToken"));
94  muonToken_ = consumes<l1t::MuonBxCollection>(iConfig.getUntrackedParameter<edm::InputTag>("muonToken"));
95 
96  const auto& taus = iConfig.getUntrackedParameter<std::vector<edm::InputTag>>("tauTokens");
97  for (const auto& tau: taus) {
98  tauTokens_.push_back(consumes<l1t::TauBxCollection>(tau));
99  }
100 
101 
102  maxL1Upgrade_ = iConfig.getParameter<unsigned int>("maxL1Upgrade");
103 
105  l1UpgradeData = l1Upgrade->getData();
106 
107  // set up output
108  tree_=fs_->make<TTree>("L1UpgradeTree", "L1UpgradeTree");
109  tree_->Branch("L1Upgrade", "L1Analysis::L1AnalysisL1UpgradeDataFormat", &l1UpgradeData, 32000, 3);
110 
111 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::Service< TFileService > fs_
std::vector< edm::EDGetTokenT< l1t::TauBxCollection > > tauTokens_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
L1Analysis::L1AnalysisL1Upgrade * l1Upgrade
L1Analysis::L1AnalysisL1UpgradeDataFormat * l1UpgradeData
edm::EDGetTokenT< l1t::EGammaBxCollection > egToken_
edm::EDGetTokenT< l1t::EtSumBxCollection > sumToken_
edm::EDGetTokenT< l1t::MuonBxCollection > muonToken_
edm::EDGetTokenT< l1t::JetBxCollection > jetToken_
L1UpgradeTreeProducer::~L1UpgradeTreeProducer ( )
override

Definition at line 114 of file L1UpgradeTreeProducer.cc.

115 {
116 
117  // do anything here that needs to be done at desctruction time
118  // (e.g. close files, deallocate resources etc.)
119 
120 }

Member Function Documentation

void L1UpgradeTreeProducer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 129 of file L1UpgradeTreeProducer.cc.

References egToken_, edm::Event::getByToken(), edm::HandleBase::isValid(), metsig::jet, jetToken_, l1Upgrade, maxL1Upgrade_, metsig::muon, muonToken_, L1Analysis::L1AnalysisL1Upgrade::Reset(), L1Analysis::L1AnalysisL1Upgrade::SetEm(), L1Analysis::L1AnalysisL1Upgrade::SetJet(), L1Analysis::L1AnalysisL1Upgrade::SetMuon(), L1Analysis::L1AnalysisL1Upgrade::SetSum(), L1Analysis::L1AnalysisL1Upgrade::SetTau(), sumToken_, metsig::tau, tauTokens_, and tree_.

130 {
131 
132  l1Upgrade->Reset();
133 
138 
139  iEvent.getByToken(egToken_, eg);
140  iEvent.getByToken(jetToken_, jet);
141  iEvent.getByToken(sumToken_, sums);
142  iEvent.getByToken(muonToken_, muon);
143 
144  if (eg.isValid()){
146  } else {
147  edm::LogWarning("MissingProduct") << "L1Upgrade Em not found. Branch will not be filled" << std::endl;
148  }
149  if (jet.isValid()){
151  } else {
152  edm::LogWarning("MissingProduct") << "L1Upgrade Jets not found. Branch will not be filled" << std::endl;
153  }
154 
155  if (sums.isValid()){
156  l1Upgrade->SetSum(sums, maxL1Upgrade_);
157  } else {
158  edm::LogWarning("MissingProduct") << "L1Upgrade EtSums not found. Branch will not be filled" << std::endl;
159  }
160 
161  if (muon.isValid()){
163  } else {
164  edm::LogWarning("MissingProduct") << "L1Upgrade Muons not found. Branch will not be filled" << std::endl;
165  }
166 
167  for (auto & tautoken: tauTokens_){
169  iEvent.getByToken(tautoken, tau);
170  if (tau.isValid()){
172  } else {
173  edm::LogWarning("MissingProduct") << "L1Upgrade Tau not found. Branch will not be filled" << std::endl;
174  }
175  }
176 
177  tree_->Fill();
178 
179 }
void SetMuon(const edm::Handle< l1t::MuonBxCollection > muon, unsigned maxL1Upgrade)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
void SetJet(const edm::Handle< l1t::JetBxCollection > jet, unsigned maxL1Upgrade)
void SetEm(const edm::Handle< l1t::EGammaBxCollection > em, unsigned maxL1Upgrade)
std::vector< edm::EDGetTokenT< l1t::TauBxCollection > > tauTokens_
L1Analysis::L1AnalysisL1Upgrade * l1Upgrade
edm::EDGetTokenT< l1t::EGammaBxCollection > egToken_
edm::EDGetTokenT< l1t::EtSumBxCollection > sumToken_
bool isValid() const
Definition: HandleBase.h:74
void SetTau(const edm::Handle< l1t::TauBxCollection > tau, unsigned maxL1Upgrade)
edm::EDGetTokenT< l1t::MuonBxCollection > muonToken_
edm::EDGetTokenT< l1t::JetBxCollection > jetToken_
void SetSum(const edm::Handle< l1t::EtSumBxCollection > sums, unsigned maxL1Upgrade)
void L1UpgradeTreeProducer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 183 of file L1UpgradeTreeProducer.cc.

184 {
185 }
void L1UpgradeTreeProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 189 of file L1UpgradeTreeProducer.cc.

References DEFINE_FWK_MODULE.

189  {
190 }

Member Data Documentation

edm::EDGetTokenT<l1t::EGammaBxCollection> L1UpgradeTreeProducer::egToken_
private

Definition at line 77 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

edm::Service<TFileService> L1UpgradeTreeProducer::fs_
private

Definition at line 71 of file L1UpgradeTreeProducer.cc.

Referenced by L1UpgradeTreeProducer().

edm::EDGetTokenT<l1t::JetBxCollection> L1UpgradeTreeProducer::jetToken_
private

Definition at line 79 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

L1Analysis::L1AnalysisL1Upgrade* L1UpgradeTreeProducer::l1Upgrade

Definition at line 63 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

L1Analysis::L1AnalysisL1UpgradeDataFormat* L1UpgradeTreeProducer::l1UpgradeData

Definition at line 64 of file L1UpgradeTreeProducer.cc.

Referenced by L1UpgradeTreeProducer().

unsigned L1UpgradeTreeProducer::maxL1Upgrade_
private

Definition at line 68 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

edm::EDGetTokenT<l1t::MuonBxCollection> L1UpgradeTreeProducer::muonToken_
private

Definition at line 81 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

edm::EDGetTokenT<l1t::EtSumBxCollection> L1UpgradeTreeProducer::sumToken_
private

Definition at line 80 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

std::vector< edm::EDGetTokenT<l1t::TauBxCollection> > L1UpgradeTreeProducer::tauTokens_
private

Definition at line 78 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().

TTree* L1UpgradeTreeProducer::tree_
private

Definition at line 74 of file L1UpgradeTreeProducer.cc.

Referenced by analyze(), and L1UpgradeTreeProducer().