CMS 3D CMS Logo

TriggerSummaryProducerRAW Class Reference

This class is an EDProducer making the HLT summary object for RAW. More...

#include <HLTrigger/HLTcore/interface/TriggerSummaryProducerRAW.h>

Inheritance diagram for TriggerSummaryProducerRAW:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &)
 TriggerSummaryProducerRAW (const edm::ParameterSet &)
 ~TriggerSummaryProducerRAW ()

Private Attributes

std::vector< edm::Handle
< trigger::TriggerFilterObjectWithRefs > > 
fobs_
 handles to the filter objects
std::string pn_
 process name
edm::ProcessNameSelector selector_
 selector for getMany methods
edm::service::TriggerNamesServicetns_
 the pointer to the current TriggerNamesService


Detailed Description

This class is an EDProducer making the HLT summary object for RAW.

See header file for documentation.

Date
2007/12/06 08:27:31
Revision
1.1

Author:
Martin Grunewald
Date
2008/05/02 12:13:28
Revision
1.7

Author:
Martin Grunewald

Definition at line 33 of file TriggerSummaryProducerRAW.h.


Constructor & Destructor Documentation

TriggerSummaryProducerRAW::TriggerSummaryProducerRAW ( const edm::ParameterSet ps  )  [explicit]

Definition at line 22 of file TriggerSummaryProducerRAW.cc.

References edm::service::TriggerNamesService::getProcessName(), LogDebug, pn_, selector_, and tns_.

00022                                                                               : 
00023   pn_(ps.getParameter<std::string>("processName")),
00024   selector_(edm::ProcessNameSelector(pn_)),
00025   tns_(), fobs_()
00026 {
00027   if (pn_=="@") {
00028     // use tns
00029     if (edm::Service<edm::service::TriggerNamesService>().isAvailable()) {
00030       // get tns pointer
00031       tns_ = edm::Service<edm::service::TriggerNamesService>().operator->();
00032       if (tns_!=0) {
00033         pn_=tns_->getProcessName();
00034       } else {
00035         LogDebug("") << "HLT Error: TriggerNamesService pointer = 0!";
00036         pn_="*";
00037       }
00038     } else {
00039       LogDebug("") << "HLT Error: TriggerNamesService not available!";
00040       pn_="*";
00041     }
00042     selector_=edm::ProcessNameSelector(pn_);
00043   }
00044 
00045   LogDebug("") << "Using process name: '" << pn_ <<"'";
00046   produces<trigger::TriggerEventWithRefs>();
00047 
00048 }

TriggerSummaryProducerRAW::~TriggerSummaryProducerRAW (  ) 

Definition at line 50 of file TriggerSummaryProducerRAW.cc.

00051 {
00052 }


Member Function Documentation

void TriggerSummaryProducerRAW::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDProducer.

Definition at line 60 of file TriggerSummaryProducerRAW.cc.

References fobs_, edm::Event::getMany(), label, LogDebug, LogTrace, moduleLabel(), pn_, process, edm::Event::put(), HcalSimpleRecAlgoImpl::reco(), selector_, std, and ecalRecalibSequence_cff::tag.

00061 {
00062    using namespace std;
00063    using namespace edm;
00064    using namespace reco;
00065    using namespace trigger;
00066 
00067    // reset from previous event
00068    fobs_.clear();
00069 
00070    // get all filter objects created in requested process
00071    iEvent.getMany(selector_,fobs_);
00072    const size_type nfob(fobs_.size());
00073    LogDebug("") << "Number of filter objects found: " << nfob;
00074 
00075    // construct single RAW product
00076    auto_ptr<TriggerEventWithRefs> product(new TriggerEventWithRefs(pn_,nfob));
00077    for (size_type ifob=0; ifob!=nfob; ++ifob) {
00078      const string& label    (fobs_[ifob].provenance()->moduleLabel());
00079      const string& instance (fobs_[ifob].provenance()->productInstanceName());
00080      const string& process  (fobs_[ifob].provenance()->processName());
00081      const InputTag tag(InputTag(label,instance,process));
00082      LogTrace("") << ifob << " " << tag;
00083      product->addFilterObject(tag,*fobs_[ifob]);
00084    }
00085 
00086    // place product in Event
00087    OrphanHandle<TriggerEventWithRefs> ref = iEvent.put(product);
00088    LogTrace("") << "Number of filter objects packed: " << ref->size();
00089 
00090    return;
00091 }


Member Data Documentation

std::vector<edm::Handle<trigger::TriggerFilterObjectWithRefs> > TriggerSummaryProducerRAW::fobs_ [private]

handles to the filter objects

Definition at line 48 of file TriggerSummaryProducerRAW.h.

Referenced by produce().

std::string TriggerSummaryProducerRAW::pn_ [private]

process name

Definition at line 42 of file TriggerSummaryProducerRAW.h.

Referenced by produce(), and TriggerSummaryProducerRAW().

edm::ProcessNameSelector TriggerSummaryProducerRAW::selector_ [private]

selector for getMany methods

Definition at line 44 of file TriggerSummaryProducerRAW.h.

Referenced by produce(), and TriggerSummaryProducerRAW().

edm::service::TriggerNamesService* TriggerSummaryProducerRAW::tns_ [private]

the pointer to the current TriggerNamesService

Definition at line 46 of file TriggerSummaryProducerRAW.h.

Referenced by TriggerSummaryProducerRAW().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:34:35 2009 for CMSSW by  doxygen 1.5.4