CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ShiftedParticleMETcorrInputProducer.cc
Go to the documentation of this file.
2 
5 
7  : moduleLabel_(cfg.getParameter<std::string>("@module_label"))
8 {
9  srcOriginal_ = cfg.getParameter<edm::InputTag>("srcOriginal");
10  srcShifted_ = cfg.getParameter<edm::InputTag>("srcShifted");
11 
12  produces<CorrMETData>();
13 }
14 
16 {
17 // nothing to be done yet...
18 }
19 
21 {
23 
24  edm::Handle<CandidateView> originalParticles;
25  evt.getByLabel(srcOriginal_, originalParticles);
26 
27  edm::Handle<CandidateView> shiftedParticles;
28  evt.getByLabel(srcShifted_, shiftedParticles);
29 
30  std::auto_ptr<CorrMETData> metCorrection(new CorrMETData());
31 
32  for ( CandidateView::const_iterator originalParticle = originalParticles->begin();
33  originalParticle != originalParticles->end(); ++originalParticle ) {
34  metCorrection->mex += originalParticle->px();
35  metCorrection->mey += originalParticle->py();
36  metCorrection->sumet += originalParticle->et();
37  }
38 
39  for ( CandidateView::const_iterator shiftedParticle = shiftedParticles->begin();
40  shiftedParticle != shiftedParticles->end(); ++shiftedParticle ) {
41  metCorrection->mex -= shiftedParticle->px();
42  metCorrection->mey -= shiftedParticle->py();
43  metCorrection->sumet -= shiftedParticle->et();
44  }
45 
46  evt.put(metCorrection);
47 }
48 
50 
52 
53 
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:85
void produce(edm::Event &, const edm::EventSetup &)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
a MET correction term
Definition: CorrMETData.h:14
edm::View< Candidate > CandidateView
view of a collection containing candidates
Definition: CandidateFwd.h:23