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 edm::EDConsumerBase

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 42 of file PrintEventSetupContent.cc.


Constructor & Destructor Documentation

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

Definition at line 74 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 79 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 &  ,
EventSetup const &  iSetup 
) [private, virtual]

Implements edm::EDAnalyzer.

Definition at line 90 of file PrintEventSetupContent.cc.

References print().

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

Reimplemented from edm::EDAnalyzer.

Definition at line 150 of file PrintEventSetupContent.cc.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 100 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 95 of file PrintEventSetupContent.cc.

References print().

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

Reimplemented from edm::EDAnalyzer.

Definition at line 155 of file PrintEventSetupContent.cc.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 160 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 105 of file PrintEventSetupContent.cc.

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), cacheIdentifiers_, 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){
          edm::eventsetup::ComponentDescription const* 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 60 of file PrintEventSetupContent.cc.

Referenced by print().