Revision: | 1.3 |
Committed: | Thu Mar 18 20:21:00 2010 UTC (15 years, 1 month ago) by bendavid |
Content type: | text/plain |
Branch: | MAIN |
CVS Tags: | Mit_032, Mit_031, Mit_025c_branch2, Mit_025c_branch1, Mit_030, Mit_029c, Mit_029b, Mit_030_pre1, Mit_029a, Mit_029, Mit_029_pre1, Mit_028a, Mit_025c_branch0, Mit_028, Mit_027a, Mit_027, Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, Mit_014, Mit_014pre3, Mit_014pre2, Mit_014pre1, Mit_013d, Mit_013c, Mit_013b, Mit_013a, Mit_013, HEAD |
Branch point for: | Mit_025c_branch |
Changes since 1.2: | +2 -2 lines |
Error occurred while calculating annotation data. | |
Log Message: | Fix beginrun,beginjob mess |
# | Content |
---|---|
1 | // $Id: FillerGenMet.cc,v 1.2 2009/09/25 08:42:50 loizides Exp $ |
2 | |
3 | #include "MitProd/TreeFiller/interface/FillerGenMet.h" |
4 | #include "DataFormats/METReco/interface/GenMET.h" |
5 | #include "DataFormats/METReco/interface/GenMETCollection.h" |
6 | #include "MitAna/DataTree/interface/GenMetCol.h" |
7 | #include "MitAna/DataTree/interface/Names.h" |
8 | #include "MitProd/ObjectService/interface/ObjectService.h" |
9 | |
10 | using namespace std; |
11 | using namespace edm; |
12 | using namespace mithep; |
13 | |
14 | //-------------------------------------------------------------------------------------------------- |
15 | FillerGenMet::FillerGenMet(const ParameterSet &cfg, const char *name, bool active) : |
16 | BaseFiller(cfg,name,active), |
17 | edmName_(Conf().getUntrackedParameter<string>("edmName","genMetTrue")), |
18 | mitName_(Conf().getUntrackedParameter<string>("mitName",Names::gkGenMetBrn)), |
19 | genMets_(new mithep::GenMetArr) |
20 | { |
21 | // Constructor. |
22 | } |
23 | |
24 | //-------------------------------------------------------------------------------------------------- |
25 | FillerGenMet::~FillerGenMet() |
26 | { |
27 | // Destructor. |
28 | |
29 | delete genMets_; |
30 | } |
31 | |
32 | //-------------------------------------------------------------------------------------------------- |
33 | void FillerGenMet::BookDataBlock(TreeWriter &tws) |
34 | { |
35 | // Add mets branch to tree. |
36 | |
37 | tws.AddBranch(mitName_,&genMets_); |
38 | OS()->add<mithep::GenMetArr>(genMets_,mitName_); |
39 | } |
40 | |
41 | //-------------------------------------------------------------------------------------------------- |
42 | void FillerGenMet::FillDataBlock(const edm::Event &event, |
43 | const edm::EventSetup &setup) |
44 | { |
45 | // Fill missing energy from edm collection into our collection. |
46 | |
47 | genMets_->Delete(); |
48 | |
49 | Handle<reco::GenMETCollection> hGenMetProduct; |
50 | GetProduct(edmName_, hGenMetProduct, event); |
51 | |
52 | const reco::GenMETCollection inGenMets = *(hGenMetProduct.product()); |
53 | |
54 | // loop through all mets |
55 | for (reco::GenMETCollection::const_iterator inGenMet = inGenMets.begin(); |
56 | inGenMet != inGenMets.end(); ++inGenMet) { |
57 | |
58 | mithep::GenMet *genMet = genMets_->Allocate(); |
59 | new (genMet) mithep::GenMet(inGenMet->px(), inGenMet->py()); |
60 | |
61 | // fill Met base class data |
62 | genMet->SetSumEt(inGenMet->sumEt()); |
63 | genMet->SetElongitudinal(inGenMet->e_longitudinal()); |
64 | for(unsigned i=0; i<inGenMet->mEtCorr().size(); i++) { |
65 | genMet->PushCorrectionX(inGenMet->mEtCorr()[i].mex); |
66 | genMet->PushCorrectionY(inGenMet->mEtCorr()[i].mey); |
67 | genMet->PushCorrectionSumEt(inGenMet->mEtCorr()[i].sumet); |
68 | } |
69 | // fill GenMet class data |
70 | genMet->SetEmEnergy(inGenMet->emEnergy()); |
71 | genMet->SetHadEnergy(inGenMet->hadEnergy()); |
72 | genMet->SetInvisibleEnergy(inGenMet->invisibleEnergy()); |
73 | genMet->SetAuxiliaryEnergy(inGenMet->auxiliaryEnergy()); |
74 | } |
75 | genMets_->Trim(); |
76 | } |