CMS 3D CMS Logo

EcalRecHitsMerger Class Reference

#include <RecoEgamma/EgammaHLTProducers/interface/EcalRecHitsMerger.h>

Inheritance diagram for EcalRecHitsMerger:

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

List of all members.

Public Member Functions

void beginJob (const edm::EventSetup &c)
 EcalRecHitsMerger (const edm::ParameterSet &pset)
void endJob (void)
void produce (edm::Event &e, const edm::EventSetup &c)
virtual ~EcalRecHitsMerger ()

Private Attributes

bool debug_
edm::InputTag EgammaSourceEB_
edm::InputTag EgammaSourceEE_
std::string InputRecHitEB_
std::string InputRecHitEE_
edm::InputTag JetsSourceEB_
edm::InputTag JetsSourceEE_
edm::InputTag MuonsSourceEB_
edm::InputTag MuonsSourceEE_
std::string OutputLabelEB_
std::string OutputLabelEE_
edm::InputTag Pi0SourceEB_
edm::InputTag Pi0SourceEE_
edm::InputTag RestSourceEB_
edm::InputTag RestSourceEE_
edm::InputTag TausSourceEB_
edm::InputTag TausSourceEE_


Detailed Description

Definition at line 17 of file EcalRecHitsMerger.h.


Constructor & Destructor Documentation

EcalRecHitsMerger::EcalRecHitsMerger ( const edm::ParameterSet pset  ) 

Definition at line 17 of file EcalRecHitsMerger.cc.

References debug_, EgammaSourceEB_, EgammaSourceEE_, edm::ParameterSet::getUntrackedParameter(), InputRecHitEB_, InputRecHitEE_, JetsSourceEB_, JetsSourceEE_, MuonsSourceEB_, MuonsSourceEE_, OutputLabelEB_, OutputLabelEE_, Pi0SourceEB_, Pi0SourceEE_, RestSourceEB_, RestSourceEE_, TausSourceEB_, and TausSourceEE_.

00017                                                                 {
00018 
00019  debug_ = pset.getUntrackedParameter<bool>("debug");
00020 
00021  EgammaSourceEB_ = pset.getUntrackedParameter<edm::InputTag>("EgammaSource_EB");
00022  MuonsSourceEB_  = pset.getUntrackedParameter<edm::InputTag>("MuonsSource_EB");
00023  TausSourceEB_  = pset.getUntrackedParameter<edm::InputTag>("TausSource_EB");
00024  JetsSourceEB_   = pset.getUntrackedParameter<edm::InputTag>("JetsSource_EB");
00025  RestSourceEB_   = pset.getUntrackedParameter<edm::InputTag>("RestSource_EB");
00026  Pi0SourceEB_   = pset.getUntrackedParameter<edm::InputTag>("Pi0Source_EB",edm::InputTag("dummyPi0"));
00027 
00028  EgammaSourceEE_ = pset.getUntrackedParameter<edm::InputTag>("EgammaSource_EE");
00029  MuonsSourceEE_  = pset.getUntrackedParameter<edm::InputTag>("MuonsSource_EE");
00030  TausSourceEE_  = pset.getUntrackedParameter<edm::InputTag>("TausSource_EE");
00031  JetsSourceEE_   = pset.getUntrackedParameter<edm::InputTag>("JetsSource_EE");
00032  RestSourceEE_   = pset.getUntrackedParameter<edm::InputTag>("RestSource_EE");
00033  Pi0SourceEE_   = pset.getUntrackedParameter<edm::InputTag>("Pi0Source_EE",edm::InputTag("dummyPi0"));
00034 
00035  OutputLabelEB_ = pset.getUntrackedParameter<std::string>("OutputLabel_EB");
00036  OutputLabelEE_ = pset.getUntrackedParameter<std::string>("OutputLabel_EE");
00037 
00038  InputRecHitEB_ = pset.getUntrackedParameter<std::string>("EcalRecHitCollectionEB");
00039  InputRecHitEE_ = pset.getUntrackedParameter<std::string>("EcalRecHitCollectionEE");
00040 
00041  produces<EcalRecHitCollection>(OutputLabelEB_);
00042  produces<EcalRecHitCollection>(OutputLabelEE_);
00043 
00044 }

EcalRecHitsMerger::~EcalRecHitsMerger (  )  [virtual]

Definition at line 48 of file EcalRecHitsMerger.cc.

00048                                       {
00049 }


Member Function Documentation

void EcalRecHitsMerger::beginJob ( const edm::EventSetup c  )  [virtual]

Reimplemented from edm::EDProducer.

Definition at line 52 of file EcalRecHitsMerger.cc.

00052                                                       {
00053 }

void EcalRecHitsMerger::endJob ( void   )  [virtual]

Reimplemented from edm::EDProducer.

Definition at line 55 of file EcalRecHitsMerger.cc.

00055                               {
00056 }

void EcalRecHitsMerger::produce ( edm::Event e,
const edm::EventSetup c 
) [virtual]

Implements edm::EDProducer.

Definition at line 58 of file EcalRecHitsMerger.cc.

References begin, GenMuonPlsPt100GeV_cfg::cout, debug_, EgammaSourceEB_, lat::endl(), edm::EventID::event(), edm::Event::getManyByType(), i, edm::Event::id(), InputRecHitEB_, InputRecHitEE_, it, JetsSourceEB_, edm::InputTag::label(), MuonsSourceEB_, OutputLabelEB_, OutputLabelEE_, Pi0SourceEB_, edm::Event::put(), RestSourceEB_, edm::EventID::run(), size, and TausSourceEB_.

00058                                                                         {
00059 
00060  if (debug_) cout << " EcalRecHitMerger : Run " << e.id().run() << " Event " << e.id().event() << endl;
00061 
00062  std::vector< edm::Handle<EcalRecHitCollection> > EcalRecHits_done;
00063  e.getManyByType(EcalRecHits_done);
00064 
00065  std::auto_ptr<EcalRecHitCollection> EBMergedRecHits(new EcalRecHitCollection);
00066  std::auto_ptr<EcalRecHitCollection> EEMergedRecHits(new EcalRecHitCollection);
00067 
00068  unsigned int nColl = EcalRecHits_done.size();
00069 
00070  int nEB = 0;
00071  int nEE = 0;
00072 
00073 
00074  for (unsigned int i=0; i < nColl; i++) {
00075 
00076    std::string instance = EcalRecHits_done[i].provenance()->productInstanceName();
00077    std::string module_label = EcalRecHits_done[i].provenance()->moduleLabel();
00078 
00079    if ( module_label != EgammaSourceEB_.label() && 
00080         module_label != MuonsSourceEB_.label() &&
00081         module_label != JetsSourceEB_.label() &&
00082         module_label != TausSourceEB_.label() &&
00083         module_label != RestSourceEB_.label() &&
00084         module_label != Pi0SourceEB_.label() ) continue;
00085 
00086    if (instance == InputRecHitEB_)  {
00087         nEB += EcalRecHits_done[i] -> size();
00088    }
00089    else if (instance == InputRecHitEE_) {
00090         nEE += EcalRecHits_done[i] -> size();
00091    }
00092 
00093  }
00094 
00095  EBMergedRecHits -> reserve(nEB);
00096  EEMergedRecHits -> reserve(nEE);
00097  if (debug_) cout << " Number of EB Rechits to merge  = " << nEB << endl;
00098  if (debug_) cout << " Number of EE Rechits to merge  = " << nEE << endl;
00099 
00100  for (unsigned int i=0; i < nColl; i++) {
00101    std::string instance = EcalRecHits_done[i].provenance()->productInstanceName(); 
00102 
00103    std::string module_label = EcalRecHits_done[i].provenance()->moduleLabel();
00104    if ( module_label != EgammaSourceEB_.label() && 
00105         module_label != MuonsSourceEB_.label() &&
00106         module_label != JetsSourceEB_.label() &&
00107         module_label != TausSourceEB_.label() &&
00108         module_label != RestSourceEB_.label() &&
00109         module_label != Pi0SourceEB_.label() ) continue;
00110 
00111     if (instance == InputRecHitEB_) {
00112         for (EcalRecHitCollection::const_iterator it=EcalRecHits_done[i]->begin(); it !=EcalRecHits_done[i]->end(); it++) {
00113                 EBMergedRecHits -> push_back(*it);
00114         }
00115    }
00116    else if (instance == InputRecHitEE_) {
00117         for (EcalRecHitCollection::const_iterator it=EcalRecHits_done[i]->begin(); it !=EcalRecHits_done[i]->end(); it++) {
00118                 EEMergedRecHits -> push_back(*it);
00119         }
00120    }
00121 
00122  }
00123 
00124 
00125  // cout << " avant le put " << endl;
00126  e.put(EBMergedRecHits,OutputLabelEB_);
00127  e.put(EEMergedRecHits,OutputLabelEE_);
00128  // cout << " apres le put " << endl;
00129 
00130 }


Member Data Documentation

bool EcalRecHitsMerger::debug_ [private]

Definition at line 47 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::EgammaSourceEB_ [private]

Definition at line 27 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::EgammaSourceEE_ [private]

Definition at line 35 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger().

std::string EcalRecHitsMerger::InputRecHitEB_ [private]

Definition at line 43 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

std::string EcalRecHitsMerger::InputRecHitEE_ [private]

Definition at line 44 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::JetsSourceEB_ [private]

Definition at line 30 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::JetsSourceEE_ [private]

Definition at line 38 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger().

edm::InputTag EcalRecHitsMerger::MuonsSourceEB_ [private]

Definition at line 28 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::MuonsSourceEE_ [private]

Definition at line 36 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger().

std::string EcalRecHitsMerger::OutputLabelEB_ [private]

Definition at line 33 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

std::string EcalRecHitsMerger::OutputLabelEE_ [private]

Definition at line 41 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::Pi0SourceEB_ [private]

Definition at line 32 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::Pi0SourceEE_ [private]

Definition at line 40 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger().

edm::InputTag EcalRecHitsMerger::RestSourceEB_ [private]

Definition at line 31 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::RestSourceEE_ [private]

Definition at line 39 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger().

edm::InputTag EcalRecHitsMerger::TausSourceEB_ [private]

Definition at line 29 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger(), and produce().

edm::InputTag EcalRecHitsMerger::TausSourceEE_ [private]

Definition at line 37 of file EcalRecHitsMerger.h.

Referenced by EcalRecHitsMerger().


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