CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

BTagPerformaceRootProducerFromSQLITE Class Reference

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

Inheritance diagram for BTagPerformaceRootProducerFromSQLITE:
edm::EDAnalyzer

List of all members.

Public Member Functions

 BTagPerformaceRootProducerFromSQLITE (const edm::ParameterSet &)
 ~BTagPerformaceRootProducerFromSQLITE ()

Private Member Functions

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

Private Attributes

edm::IOVSyncValue lastValue_
std::vector< std::string > names_
edm::ESWatcher
< BTagPerformanceRecord
recWatcher_
std::auto_ptr
< fwlite::RecordWriter
writer_

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.

                                                                                                         :
  names_(iConfig.getParameter< std::vector<std::string> >("names"))
{
}
BTagPerformaceRootProducerFromSQLITE::~BTagPerformaceRootProducerFromSQLITE ( )

Definition at line 88 of file BTagPerformaceRootProducerFromSQLITE.cc.

{
}

Member Function Documentation

void BTagPerformaceRootProducerFromSQLITE::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDAnalyzer.

Definition at line 99 of file BTagPerformaceRootProducerFromSQLITE.cc.

References edm::ESWatcher< T >::check(), gather_cfg::cout, f, edm::EventSetup::get(), edm::eventsetup::EventSetupRecord::get(), i, edm::eventsetup::EventSetupRecordImplementation< T >::key(), lastValue_, names_, BtagPerformance::payload(), edm::ESHandle< T >::product(), csvReporter::r, recWatcher_, edm::eventsetup::EventSetupRecord::validityInterval(), BtagPerformance::workingPoint(), and writer_.

{

  std::cout << "Hello from BTagPerformaceRootProducerFromSQLITE!" << std::endl;
  if(recWatcher_.check(iSetup)) {
    const BTagPerformanceRecord& r = iSetup.get<BTagPerformanceRecord>();

    if(! writer_.get()) {
      edm::Service<TFileService> fs ;
      TFile * f = &(fs->file());
      writer_ = std::auto_ptr<fwlite::RecordWriter>(new fwlite::RecordWriter(r.key().name(), f ));
    }
    lastValue_ = r.validityInterval().last();

    for( size_t i=0;  i<names_.size(); i++ )
    {
       edm::ESHandle<BtagPerformance> perfH;
       std::cout <<" Studying performance with label " << names_.at(i) <<std::endl;
       r.get( names_.at(i), perfH );
       const BtagPerformance & perf = *(perfH.product());

       writer_->update(&(perf.payload()), typeid(PerformancePayload),names_.at(i).c_str());
       writer_->update(&(perf.workingPoint()), typeid(PerformanceWorkingPoint),names_.at(i).c_str());
    }
    writer_->fill(edm::ESRecordAuxiliary(r.validityInterval().first().eventID(),
                                      r.validityInterval().first().time()));
  }
}
void BTagPerformaceRootProducerFromSQLITE::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 131 of file BTagPerformaceRootProducerFromSQLITE.cc.

{
}
void BTagPerformaceRootProducerFromSQLITE::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 137 of file BTagPerformaceRootProducerFromSQLITE.cc.

                                             {
  /*if(writer_.get()) {
    writer_->fill(edm::ESRecordAuxiliary(lastValue_.eventID(),
                                         lastValue_.time()));
    writer_->write();
  } */
}

Member Data Documentation

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().

Definition at line 66 of file BTagPerformaceRootProducerFromSQLITE.cc.

Referenced by analyze().

Definition at line 67 of file BTagPerformaceRootProducerFromSQLITE.cc.

Referenced by analyze().