CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes

edm::PrintEventSetupContent Class Reference

Inheritance diagram for edm::PrintEventSetupContent:
edm::EDAnalyzer

List of all members.

Public Member Functions

 PrintEventSetupContent (ParameterSet const &)
 ~PrintEventSetupContent ()

Static Public Member Functions

static void fillDescriptions (ConfigurationDescriptions &descriptions)

Private Member Functions

virtual void analyze (Event const &, EventSetup const &)
virtual void beginJob ()
virtual void beginLuminosityBlock (LuminosityBlock const &, EventSetup const &)
virtual void beginRun (Run const &, EventSetup const &)
virtual void endJob ()
void print (EventSetup const &)

Private Attributes

std::map
< eventsetup::EventSetupRecordKey,
unsigned long long > 
cacheIdentifiers_

Detailed Description

Definition at line 46 of file PrintEventSetupContent.cc.


Constructor & Destructor Documentation

PrintEventSetupContent::PrintEventSetupContent ( ParameterSet const &  iConfig) [explicit]

Definition at line 79 of file PrintEventSetupContent.cc.

                                                                            {
  //now do what ever initialization is neededEventSetupRecordDataGetter::EventSetupRecordDataGetter(ParameterSet const& iConfig):
  //  getter = new EventSetupRecordDataGetter::EventSetupRecordDataGetter(iConfig);
  }
PrintEventSetupContent::~PrintEventSetupContent ( )

Definition at line 85 of file PrintEventSetupContent.cc.

                                                  {
 
   // do anything here that needs to be done at desctruction time
   // (e.g. close files, deallocate resources etc.)

  }

Member Function Documentation

void PrintEventSetupContent::analyze ( Event const &  iEvent,
EventSetup const &  iSetup 
) [private, virtual]

Implements edm::EDAnalyzer.

Definition at line 99 of file PrintEventSetupContent.cc.

References print().

                                                                               { 
    print(iSetup);
  }
void PrintEventSetupContent::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 162 of file PrintEventSetupContent.cc.

                                   {
  }
void PrintEventSetupContent::beginLuminosityBlock ( LuminosityBlock const &  ,
EventSetup const &  iSetup 
) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 109 of file PrintEventSetupContent.cc.

References print().

                                                                                              {
    print(iSetup);
  }
void PrintEventSetupContent::beginRun ( Run const &  ,
EventSetup const &  iSetup 
) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 104 of file PrintEventSetupContent.cc.

References print().

                                                                      {
    print(iSetup);
  }
void PrintEventSetupContent::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 167 of file PrintEventSetupContent.cc.

                                 {
  }
void PrintEventSetupContent::fillDescriptions ( ConfigurationDescriptions descriptions) [static]

Reimplemented from edm::EDAnalyzer.

Definition at line 172 of file PrintEventSetupContent.cc.

References edm::ConfigurationDescriptions::add(), and edm::ConfigurationDescriptions::setComment().

                                                                                  {
    ParameterSetDescription desc;
    descriptions.setComment("Print what data is available in each available EventSetup Record in the job.\n"
                            "As part of the data is the C++ class type, label and which module makes that data.");
    descriptions.add("printEventSetupContent", desc);
  }
void PrintEventSetupContent::print ( EventSetup const &  iSetup) [private]

Definition at line 114 of file PrintEventSetupContent.cc.

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), cacheIdentifiers_, runTheMatrix::data, edm::IOVSyncValue::eventID(), edm::EventSetup::fillAvailableRecordKeys(), edm::eventsetup::EventSetupRecord::fillRegisteredDataKeys(), edm::EventSetup::find(), edm::ValidityInterval::first(), edm::eventsetup::ComponentDescription::label_, edm::ValidityInterval::last(), edm::eventsetup::EventSetupRecord::providerDescription(), edm::IOVSyncValue::time(), edm::eventsetup::ComponentDescription::type_, edm::eventsetup::EventSetupRecord::validityInterval(), and edm::Timestamp::value().

Referenced by analyze(), beginLuminosityBlock(), and beginRun().

                                                         { 
    typedef std::vector<eventsetup::EventSetupRecordKey> Records;
    typedef std::vector<eventsetup::DataKey> Data;
    
    Records records;
    Data data;
    iSetup.fillAvailableRecordKeys(records);
    int iflag=0;
    
    
    for(Records::iterator itrecords = records.begin(), itrecordsend = records.end();
       itrecords != itrecordsend; ++itrecords ) {
      
      eventsetup::EventSetupRecord const* rec = iSetup.find(*itrecords);
      
      
      
      if(0 != rec && cacheIdentifiers_[*itrecords] != rec->cacheIdentifier() ) {
        ++iflag;
        if(iflag==1)
          LogSystem("ESContent")<<"\n"<<"Changed Record"<<"\n  "<<"<datatype>"<<" "<<"'label' provider: 'provider label' <provider module type>"; 
        cacheIdentifiers_[*itrecords] = rec->cacheIdentifier();
        LogAbsolute("ESContent")<<itrecords->name()<<std::endl;
  
        LogAbsolute("ESContent")<<" start: "<<rec->validityInterval().first().eventID()<<" time: "<<rec->validityInterval().first().time().value()<<std::endl;
        LogAbsolute("ESContent")<<" end:   "<<rec->validityInterval().last().eventID()<<" time: "<<rec->validityInterval().last().time().value()<<std::endl;
        rec->fillRegisteredDataKeys(data);
        for(Data::iterator itdata = data.begin(), itdataend = data.end(); itdata != itdataend; ++itdata){
          const edm::eventsetup::ComponentDescription* cd = rec->providerDescription(*itdata);
          LogAbsolute("ESContent")<<"  "<<itdata->type().name()<<" '"<<itdata->name().value()<<"'"<< " provider:'"<<cd->label_<<"' "<<cd->type_<<std::endl;
        }         
      }   
    }
  }

Member Data Documentation

Definition at line 65 of file PrintEventSetupContent.cc.

Referenced by print().