 |
DAS
3.0
Das Analysis System
|
Go to the documentation of this file.
7 #include <TDirectory.h>
34 vector<DAS::Uncertainties::Variation> variations;
35 variations.emplace_back(
"nominal",
"nominal");
36 if (!applySyst)
return variations;
40 BOOST_THROW_EXCEPTION( invalid_argument(groupContents->GetName()) );
43 for (
const TObject * obj: *groupContents) {
44 const auto os =
dynamic_cast<const TObjString*
>(obj);
45 if (!os) BOOST_THROW_EXCEPTION( invalid_argument(obj->GetName()) );
46 TString s = os->GetString();
47 s.ReplaceAll(
SysUp,
"");
69 const vector<double>&
y_edges) :
73 vector balBins = MakeBinning<double>({-1.2,1.2}, nBins);
78 TString dirname = d->GetName();
79 TString hname = dirname +
'_' + v.
group +
'_' + v.
name;
80 asymmetry = make_unique<TH3D>(hname, v.
name, nBins, balBins.data(),
84 balBins = MakeBinning<double>({0., 1.2}, nBins);
85 response = make_unique<TH2D>(
"response_" + hname, v.
name, nBins, balBins.data(),
97 float absy_probe = probe.
AbsRap(v);
99 float pt_tag = tag .
CorrPt(v),
100 pt_probe = probe.
CorrPt(v);
102 double jw = tag .
Weight(v)
105 response->Fill(pt_probe/pt_tag, absy_probe, ev_w*jw);
109 float pt_dif = (pt_tag - pt_probe),
110 pt_ave = (pt_tag + pt_probe) * 0.5;
112 float asym = pt_dif / pt_ave;
117 asymmetry->Fill(asym, pt_ave, absy_probe, ev_w*jw);
123 TString dirname = d->GetName();
125 asymmetry->SetDirectory(d);
126 TString hname = asymmetry->GetName();
127 hname.ReplaceAll(dirname +
'_',
"");
128 asymmetry->Write(hname);
132 hname.ReplaceAll(dirname +
'_',
"");
static const std::vector< double > y_edges
Definition: binnings.h:36
virtual float CorrPt(const Uncertainties::Variation &) const =0
Balance histogram for a given variation.
Definition: Balance.h:57
static const char *const ScaleVar
Name of jet rec scales in variations.
Definition: Jet.h:38
unique_ptr< TH2D > response
response
Definition: Balance.h:61
const std::string SysUp
Suffix used for "up" uncertainties. Follows the Combine convention.
Definition: Format.h:8
virtual double Weight(const Uncertainties::Variation &) const =0
const TString name
variation name (including "Up" or "Down")
Definition: Variation.h:25
static const std::vector< double > pt_edges
Definition: binnings.h:33
static const std::vector< std::string > JES_variations
Definition: common.h:47
TDirectory * d
directory in output ROOT file
Definition: Balance.h:59
vector< DAS::Uncertainties::Variation > GetScaleVariations(const DT::MetaInfo &metainfo, bool applySyst)
Definition: Balance.h:31
Definition: PhysicsObject.h:22
virtual FourVector CorrP4(const Uncertainties::Variation &) const =0
virtual float AbsRap(const Uncertainties::Variation &) const =0
DAS::MET met
Definition: classes.h:28
static const int nPtBins
Definition: binnings.h:39
const std::string SysDown
Suffix used for "down" uncertainties. Follows the Combine convention.
Definition: Format.h:10
const TString group
e.g. event, recjet
Definition: Variation.h:24
DAS::Uncertainties::Variation v
systematic variation
Definition: Balance.h:64
float Phi
direction of the total transverse momentum
Definition: Event.h:88
Balance(TDirectory *d, const DAS::Uncertainties::Variation &v, const vector< double > &pt_edges, const vector< double > &y_edges)
Definition: Balance.h:66
Definition: Variation.h:22
Definition: applyJERsmearing.cc:42
void Write()
Definition: Balance.h:120
static const int nYbins
Definition: binnings.h:38
unique_ptr< TH3D > asymmetry
asymmetry histogram
Definition: Balance.h:60
float Pt
exactly the same as Et
Definition: Event.h:87