ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/src/METAnalyzer.cc
Revision: 1.1
Committed: Wed Nov 19 19:08:16 2008 UTC (16 years, 5 months ago) by lethuill
Content type: text/plain
Branch: MAIN
CVS Tags: Common-2008_11_24, Common-2008_11_19
Log Message:
First skeleton for common code

File Contents

# User Rev Content
1 lethuill 1.1 #include "UserCode/Morgan/interface/METAnalyzer.h"
2    
3     using namespace std;
4     using namespace reco;
5     using namespace edm;
6    
7     METAnalyzer::METAnalyzer(const edm::ParameterSet& producersNames):verbosity_(0)
8     {
9     metProducer_ = producersNames.getParameter<edm::InputTag>("metProducer");
10     }
11    
12     METAnalyzer::METAnalyzer(const edm::ParameterSet& producersNames, int verbosity):verbosity_(verbosity)
13     {
14     metProducer_ = producersNames.getParameter<edm::InputTag>("metProducer");
15     }
16    
17     METAnalyzer::~METAnalyzer()
18     {
19     }
20    
21     void METAnalyzer::Process(const edm::Event& iEvent, TRootEvent* rootEvent)
22     {
23    
24     edm::Handle< reco::CaloMETCollection > recoMET;
25     iEvent.getByLabel(metProducer_, recoMET);
26     if(verbosity_>1) std::cout << " Number of MET objects = " << recoMET->size() << " Label: " << metProducer_.label() << " Instance: " << metProducer_.instance() << std::endl;
27    
28     if (recoMET->size()>0)
29     {
30     TRootMET localMET(
31     (*recoMET)[0].px()
32     ,(*recoMET)[0].py()
33     ,(*recoMET)[0].pz()
34     ,(*recoMET)[0].energy()
35     ,(*recoMET)[0].vx()
36     ,(*recoMET)[0].vy()
37     ,(*recoMET)[0].vz()
38     );
39    
40     localMET.setCaloMETFraction(
41     (*recoMET)[0].maxEtInEmTowers()
42     ,(*recoMET)[0].maxEtInHadTowers()
43     ,(*recoMET)[0].hadEtInHO()
44     ,(*recoMET)[0].hadEtInHB()
45     ,(*recoMET)[0].hadEtInHF()
46     ,(*recoMET)[0].hadEtInHE()
47     ,(*recoMET)[0].emEtInEB()
48     ,(*recoMET)[0].emEtInEE()
49     ,(*recoMET)[0].emEtInHF()
50     ,(*recoMET)[0].etFractionHadronic()
51     ,(*recoMET)[0].emEtFraction()
52     ,(*recoMET)[0].metSignificance()
53     ,(*recoMET)[0].CaloMETInpHF()
54     ,(*recoMET)[0].CaloMETInmHF()
55     ,(*recoMET)[0].CaloSETInpHF()
56     ,(*recoMET)[0].CaloSETInmHF()
57     ,(*recoMET)[0].CaloMETPhiInpHF()
58     ,(*recoMET)[0].CaloMETPhiInmHF()
59     );
60    
61     rootEvent->setMetCalo(localMET);
62     if(verbosity_>2) cout << " " << localMET << endl;
63     }
64    
65     }