CMS 3D CMS Logo

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

#include <junk/BTagPerformaceRootProducerFromSQLITE/src/BTagPerformaceRootProducerFromSQLITE.cc>

Inheritance diagram for BTagPerformaceRootProducerFromSQLITE:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 BTagPerformaceRootProducerFromSQLITE (const edm::ParameterSet &)
 
 ~BTagPerformaceRootProducerFromSQLITE () 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)
 

Private Member Functions

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

Private Attributes

edm::IOVSyncValue lastValue_
 
std::vector< std::string > names_
 
edm::ESWatcher< BTagPerformanceRecordrecWatcher_
 
std::unique_ptr< fwlite::RecordWriterwriter_
 

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: This writes out a ROOT file with a BtagPerformance object taken from an sqlite file.

Implementation: [Notes on implementation]

Definition at line 53 of file BTagPerformaceRootProducerFromSQLITE.cc.

Constructor & Destructor Documentation

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

Definition at line 82 of file BTagPerformaceRootProducerFromSQLITE.cc.

82  :
83  names_(iConfig.getParameter< std::vector<std::string> >("names"))
84 {
85 }
T getParameter(std::string const &) const
BTagPerformaceRootProducerFromSQLITE::~BTagPerformaceRootProducerFromSQLITE ( )
override

Definition at line 88 of file BTagPerformaceRootProducerFromSQLITE.cc.

89 {
90 }

Member Function Documentation

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

Definition at line 99 of file BTagPerformaceRootProducerFromSQLITE.cc.

References edm::ESWatcher< T >::check(), gather_cfg::cout, edm::IOVSyncValue::eventID(), f, TFileService::file(), edm::ValidityInterval::first(), edm::EventSetup::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), mps_fire::i, edm::eventsetup::EventSetupRecordImplementation< T >::key(), edm::ValidityInterval::last(), lastValue_, edm::eventsetup::EventSetupRecordKey::name(), names_, BtagPerformance::payload(), edm::ESHandle< T >::product(), alignCSCRings::r, recWatcher_, edm::IOVSyncValue::time(), edm::eventsetup::EventSetupRecord::validityInterval(), BtagPerformance::workingPoint(), and writer_.

100 {
101 
102  std::cout << "Hello from BTagPerformaceRootProducerFromSQLITE!" << std::endl;
103  if(recWatcher_.check(iSetup)) {
105 
106  if(! writer_.get()) {
108  TFile * f = &(fs->file());
109  writer_ = std::unique_ptr<fwlite::RecordWriter>(new fwlite::RecordWriter(r.key().name(), f ));
110  }
112 
113  for( size_t i=0; i<names_.size(); i++ )
114  {
116  std::cout <<" Studying performance with label " << names_.at(i) <<std::endl;
117  r.get( names_.at(i), perfH );
118  const BtagPerformance & perf = *(perfH.product());
119 
120  writer_->update(&(perf.payload()), typeid(PerformancePayload),names_.at(i).c_str());
121  writer_->update(&(perf.workingPoint()), typeid(PerformanceWorkingPoint),names_.at(i).c_str());
122  }
124  r.validityInterval().first().time()));
125  }
126 }
virtual const PerformanceWorkingPoint & workingPoint() const
const EventID & eventID() const
Definition: IOVSyncValue.h:40
const IOVSyncValue & last() const
edm::ESWatcher< BTagPerformanceRecord > recWatcher_
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
double f[11][100]
TFile & file() const
return opened TFile
Definition: TFileService.h:37
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
T get() const
Definition: EventSetup.h:71
const Timestamp & time() const
Definition: IOVSyncValue.h:42
const IOVSyncValue & first() const
ValidityInterval const & validityInterval() const
T const * product() const
Definition: ESHandle.h:86
virtual const PerformancePayload & payload() const
std::unique_ptr< fwlite::RecordWriter > writer_
void BTagPerformaceRootProducerFromSQLITE::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 131 of file BTagPerformaceRootProducerFromSQLITE.cc.

132 {
133 }
void BTagPerformaceRootProducerFromSQLITE::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 137 of file BTagPerformaceRootProducerFromSQLITE.cc.

References DEFINE_FWK_MODULE.

137  {
138  /*if(writer_.get()) {
139  writer_->fill(edm::ESRecordAuxiliary(lastValue_.eventID(),
140  lastValue_.time()));
141  writer_->write();
142  } */
143 }

Member Data Documentation

edm::IOVSyncValue BTagPerformaceRootProducerFromSQLITE::lastValue_
private

Definition at line 68 of file BTagPerformaceRootProducerFromSQLITE.cc.

Referenced by analyze().

std::vector<std::string> BTagPerformaceRootProducerFromSQLITE::names_
private

Definition at line 65 of file BTagPerformaceRootProducerFromSQLITE.cc.

Referenced by analyze().

edm::ESWatcher<BTagPerformanceRecord> BTagPerformaceRootProducerFromSQLITE::recWatcher_
private

Definition at line 66 of file BTagPerformaceRootProducerFromSQLITE.cc.

Referenced by analyze().

std::unique_ptr<fwlite::RecordWriter> BTagPerformaceRootProducerFromSQLITE::writer_
private

Definition at line 67 of file BTagPerformaceRootProducerFromSQLITE.cc.

Referenced by analyze().