ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerEmbedWeight.cc
Revision: 1.5
Committed: Thu Jul 11 14:00:41 2013 UTC (11 years, 9 months ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_032, HEAD
Changes since 1.4: +34 -32 lines
Log Message:
added info to embedded

File Contents

# User Rev Content
1 pharris 1.5 // $Id: FillerEmbedWeight.cc,v 1.4 2013/05/06 18:27:49 pharris Exp $
2 pharris 1.1
3     #include "MitProd/TreeFiller/interface/FillerEmbedWeight.h"
4     #include "MitAna/DataTree/interface/Names.h"
5     #include "MitAna/DataTree/interface/EmbedWeightCol.h"
6     #include "MitProd/ObjectService/interface/ObjectService.h"
7 pharris 1.3 #include "SimDataFormats/GeneratorProducts/interface/GenFilterInfo.h"
8 pharris 1.1
9     using namespace std;
10     using namespace edm;
11     using namespace mithep;
12    
13     //--------------------------------------------------------------------------------------------------
14     FillerEmbedWeight::FillerEmbedWeight(const ParameterSet &cfg, const char *name, bool active) :
15     BaseFiller(cfg,name,active),
16 pharris 1.4 edmName_ (Conf().getUntrackedParameter<string>("edmName" ,"generator_weight")),
17     edmSpinnerName_(Conf().getUntrackedParameter<string>("edmSpinnerName","TauSpinnerRec")),
18     edmMuEffName_ (Conf().getUntrackedParameter<string>("edmMuEffName" ,"ZmumuEvtSelEffCorrWeightProducer")),
19     edmMuRadName_ (Conf().getUntrackedParameter<string>("edmMuRadName" ,"muonRadiationCorrWeightProducer")),
20     edmKineReweightGenName_ (Conf().getUntrackedParameter<string>("edmKineReweightGenName" ,"embeddingKineReweightGENembedding")),
21     edmKineReweightRecName_ (Conf().getUntrackedParameter<string>("edmKineReweightRecName" ,"embeddingKineReweightRECembedding")),
22    
23 pharris 1.3 genInfo_(Conf().getUntrackedParameter<bool> ("useGenInfo","True")),
24 pharris 1.4 recHit_ (Conf().getUntrackedParameter<bool> ("useRecHit","True")),
25 pharris 1.5 useMuRad_ (Conf().getUntrackedParameter<bool> ("useMuonRad","True")),
26 pharris 1.1 mitName_(Conf().getUntrackedParameter<string>("mitName",Names::gkEmbedWeightBrn)),
27     embedWeight_(new mithep::EmbedWeightArr)
28     {
29     // Constructor.
30     }
31    
32     //--------------------------------------------------------------------------------------------------
33     FillerEmbedWeight::~FillerEmbedWeight()
34     {
35     // Destructor.
36    
37     delete embedWeight_;
38     }
39    
40     //--------------------------------------------------------------------------------------------------
41     void FillerEmbedWeight::BookDataBlock(TreeWriter &tws)
42     {
43     // Add mets branch to tree.
44    
45     tws.AddBranch(mitName_,&embedWeight_);
46     OS()->add<mithep::EmbedWeightArr>(embedWeight_,mitName_);
47     }
48    
49     //--------------------------------------------------------------------------------------------------
50     void FillerEmbedWeight::FillDataBlock(const edm::Event &event,
51     const edm::EventSetup &setup)
52     {
53     // Fill missing energy from edm collection into our collection.
54 pharris 1.2 embedWeight_->Delete();
55 pharris 1.3
56 pharris 1.5 double inEmbedWeightValue = 1;
57     double inSpinnerWeightValue = 1;
58     double inSpinnerFlipWeightValue = 1;
59     double inSpinnerPlusWeightValue = 1;
60     double inSpinnerMinusWeightValue = 1;
61     double inMuEffWeightValue = 1;
62     double inMuEffWeightUpValue = 1;
63     double inMuEffWeightDownValue = 1;
64     double inMuRadWeightValue = 1;
65     double inMuRadWeightUpValue = 1;
66     double inMuRadWeightDownValue = 1;
67     double inGenTau2PtVsGenTau1PtGenValue = 1;
68     double inGenTau2EtaVsGenTau1EtaGenValue = 1;
69     double inDiTauMassVsGenDiTauPtGenValue = 1;
70     double inGenTau2PtVsGenTau1PtRecValue = 1;
71     double inGenTau2EtaVsGenTau1EtaRecValue= 1;
72     double inDiTauMassVsGenDiTauPtRecValue = 1;
73 pharris 1.4
74 pharris 1.3 if(!genInfo_) {
75     Handle<double> hEmbedWeight;
76     event.getByLabel(edm::InputTag(edmName_,"weight","EmbeddedRECO"),hEmbedWeight);
77     inEmbedWeightValue = *(hEmbedWeight.product());
78     } else {
79     edm::Handle<GenFilterInfo> hGenFilterInfo;
80     event.getByLabel(edm::InputTag(edmName_, "minVisPtFilter", "EmbeddedRECO"), hGenFilterInfo);
81     inEmbedWeightValue = hGenFilterInfo->filterEfficiency();
82 pharris 1.4 }
83     if(recHit_) {
84     Handle<double> hSpinnerWeight;
85     event.getByLabel(edm::InputTag(edmSpinnerName_,"TauSpinnerWT","EmbeddedSPIN"),hSpinnerWeight);
86     inSpinnerWeightValue = *(hSpinnerWeight.product());
87    
88     Handle<double> hSpinnerWeightFlip;
89     event.getByLabel(edm::InputTag(edmSpinnerName_,"TauSpinnerWTFlip","EmbeddedSPIN"),hSpinnerWeightFlip);
90     inSpinnerFlipWeightValue = *(hSpinnerWeightFlip.product());
91    
92     Handle<double> hSpinnerWeightMinus;
93     event.getByLabel(edm::InputTag(edmSpinnerName_,"TauSpinnerWThplus","EmbeddedSPIN"),hSpinnerWeightMinus);
94     inSpinnerMinusWeightValue = *(hSpinnerWeightMinus.product());
95    
96     Handle<double> hSpinnerWeightPlus;
97     event.getByLabel(edm::InputTag(edmSpinnerName_,"TauSpinnerWThminus","EmbeddedSPIN"),hSpinnerWeightPlus);
98     inSpinnerPlusWeightValue = *(hSpinnerWeightPlus.product());
99    
100     Handle<double> hMuEffWeight;
101     event.getByLabel(edm::InputTag(edmMuEffName_,"weight","EmbeddedRECO"),hMuEffWeight);
102     inMuEffWeightValue = *(hMuEffWeight.product());
103    
104     Handle<double> hMuEffWeightUp;
105     event.getByLabel(edm::InputTag(edmMuEffName_,"weightUp","EmbeddedRECO"),hMuEffWeightUp);
106     inMuEffWeightUpValue = *(hMuEffWeightUp.product());
107    
108     Handle<double> hMuEffWeightDown;
109     event.getByLabel(edm::InputTag(edmMuEffName_,"weightDown","EmbeddedRECO"),hMuEffWeightDown);
110     inMuEffWeightDownValue = *(hMuEffWeightDown.product());
111 pharris 1.5
112     if(useMuRad_) {
113     Handle<double> hMuRadWeight;
114     event.getByLabel(edm::InputTag(edmMuRadName_,"weight","EmbeddedRECO"),hMuRadWeight);
115     inMuRadWeightValue = *(hMuRadWeight.product());
116    
117     Handle<double> hMuRadWeightUp;
118     event.getByLabel(edm::InputTag(edmMuRadName_,"weightUp","EmbeddedRECO"),hMuRadWeightUp);
119     inMuRadWeightUpValue = *(hMuRadWeightUp.product());
120    
121     Handle<double> hMuRadWeightDown;
122     event.getByLabel(edm::InputTag(edmMuRadName_,"weightDown","EmbeddedRECO"),hMuRadWeightDown);
123     inMuRadWeightDownValue = *(hMuRadWeightDown.product());
124     }
125 pharris 1.4 Handle<double> hGenTau2PtVsGenTau1PtGen;
126     event.getByLabel(edm::InputTag(edmKineReweightGenName_,"genTau2PtVsGenTau1Pt"),hGenTau2PtVsGenTau1PtGen);
127     inGenTau2PtVsGenTau1PtGenValue = *(hGenTau2PtVsGenTau1PtGen.product());
128    
129     Handle<double> hGenTau2EtaVsGenTau1EtaGen;
130     event.getByLabel(edm::InputTag(edmKineReweightGenName_,"genTau2EtaVsGenTau1Eta"),hGenTau2EtaVsGenTau1EtaGen);
131     inGenTau2EtaVsGenTau1EtaGenValue = *(hGenTau2EtaVsGenTau1EtaGen.product());
132    
133     Handle<double> hDiTauMassVsGenDiTauPtGen;
134     event.getByLabel(edm::InputTag(edmKineReweightGenName_,"genDiTauMassVsGenDiTauPt"),hDiTauMassVsGenDiTauPtGen);
135     inDiTauMassVsGenDiTauPtGenValue = *(hDiTauMassVsGenDiTauPtGen.product());
136    
137     Handle<double> hGenTau2PtVsGenTau1PtRec;
138     event.getByLabel(edm::InputTag(edmKineReweightRecName_,"genTau2PtVsGenTau1Pt"),hGenTau2PtVsGenTau1PtRec);
139     inGenTau2PtVsGenTau1PtRecValue = *(hGenTau2PtVsGenTau1PtRec.product());
140    
141     Handle<double> hGenTau2EtaVsGenTau1EtaRec;
142     event.getByLabel(edm::InputTag(edmKineReweightRecName_,"genTau2EtaVsGenTau1Eta"),hGenTau2EtaVsGenTau1EtaRec);
143     inGenTau2EtaVsGenTau1EtaRecValue = *(hGenTau2EtaVsGenTau1EtaRec.product());
144    
145     Handle<double> hDiTauMassVsGenDiTauPtRec;
146     event.getByLabel(edm::InputTag(edmKineReweightRecName_,"genDiTauMassVsGenDiTauPt"),hDiTauMassVsGenDiTauPtRec);
147     inDiTauMassVsGenDiTauPtRecValue = *(hDiTauMassVsGenDiTauPtRec.product());
148 pharris 1.3 }
149 pharris 1.4 const double inEmbedWeight = inEmbedWeightValue;
150     const double inSpinnerWeight = inSpinnerWeightValue;
151     const double inSpinnerFlipWeight = inSpinnerFlipWeightValue;
152     const double inSpinnerPlusWeight = inSpinnerPlusWeightValue;
153     const double inSpinnerMinusWeight = inSpinnerMinusWeightValue;
154     const double inMuEffWeight = inMuEffWeightValue;
155     const double inMuEffWeightUp = inMuEffWeightUpValue;
156     const double inMuEffWeightDown = inMuEffWeightDownValue;
157     const double inMuRadWeight = inMuRadWeightValue;
158     const double inMuRadWeightUp = inMuRadWeightUpValue;
159     const double inMuRadWeightDown = inMuRadWeightDownValue;
160     const double inGenTau2PtVsGenTau1PtGen = inGenTau2PtVsGenTau1PtGenValue;
161     const double inGenTau2EtaVsGenTau1EtaGen = inGenTau2EtaVsGenTau1EtaGenValue;
162     const double inDiTauMassVsGenDiTauPtGen = inDiTauMassVsGenDiTauPtGenValue;
163     const double inGenTau2PtVsGenTau1PtRec = inGenTau2PtVsGenTau1PtRecValue;
164     const double inGenTau2EtaVsGenTau1EtaRec = inGenTau2EtaVsGenTau1EtaRecValue;
165     const double inDiTauMassVsGenDiTauPtRec = inDiTauMassVsGenDiTauPtRecValue;
166    
167 pharris 1.1 mithep::EmbedWeight *embedWeight = embedWeight_->Allocate();
168 pharris 1.4 new (embedWeight) mithep::EmbedWeight();
169    
170     embedWeight->SetGenWeight (inEmbedWeight);
171     embedWeight->SetSpinnerWeight (inSpinnerWeight);
172     embedWeight->SetSpinnerFlipWeight (inSpinnerFlipWeight);
173     embedWeight->SetSpinnerPlusWeight (inSpinnerPlusWeight);
174     embedWeight->SetSpinnerMinusWeight (inSpinnerMinusWeight);
175     embedWeight->SetMuEffWeight (inMuEffWeight);
176     embedWeight->SetMuEffWeightUp (inMuEffWeightUp);
177     embedWeight->SetMuEffWeightDown (inMuEffWeightDown);
178     embedWeight->SetMuRadWeight (inMuRadWeight);
179     embedWeight->SetMuRadWeightUp (inMuRadWeightUp);
180     embedWeight->SetMuRadWeightDown (inMuRadWeightDown);
181     embedWeight->SetGenTau2VsGenTau1PtGen (inGenTau2PtVsGenTau1PtGen);
182     embedWeight->SetGenTau2VsGenTau1EtaGen (inGenTau2EtaVsGenTau1EtaGen);
183     embedWeight->SetDiTauMassVsGenDiTauPtGen (inDiTauMassVsGenDiTauPtGen);
184     embedWeight->SetGenTau2VsGenTau1PtRec (inGenTau2PtVsGenTau1PtRec);
185     embedWeight->SetGenTau2VsGenTau1EtaRec (inGenTau2EtaVsGenTau1EtaRec);
186     embedWeight->SetDiTauMassVsGenDiTauPtRec (inDiTauMassVsGenDiTauPtRec);
187 pharris 1.5 if(recHit_) embedWeight->SetWeight();
188 pharris 1.1 embedWeight_->Trim();
189     }