HackAnalysis
2
|
Public Member Functions | |
void | init () |
void | Execute (std::mt19937 &engine) |
void | Finalise () |
![]() | |
void | cleanup () |
void | setup () |
void | setup (bool ismaster) |
bool | ProcessEvent (HEP::Event *evnt) |
void | AddRegionSelection (const std::string ®ion_name) |
void | AddCut (const std::string &cutname, const std::string ®ion_name) |
void | AddCut (const std::string &cutname, const std::vector< std::string > region_names) |
void | ApplyCut (bool condition, const std::string &cutname) |
void | AddYodaHisto1D (const std::string &objectname) |
void | AddYodaHisto1D (const std::string &objectname, size_t nbins, double lower, double upper) |
void | AddYodaHisto1D (const std::string &objectname, const std::vector< double > &binedges) |
void | FillYodaHisto1D (const std::string &objectname, double x, double fraction=1.0) |
YODA::Histo1D * | GetYodaHisto1D (const std::string &objectname) |
void | AddYodaHisto2D (const std::string &objectname) |
void | AddYodaHisto2D (const std::string &objectname, size_t nbinsX, size_t nbinsY, double lowerX, double upperX, double lowerY, double upperY) |
void | AddYodaHisto2D (const std::string &objectname, const std::vector< double > &xedges, const std::vector< double > &yedges) |
void | FillYodaHisto2D (const std::string &objectname, double x, double y, double fraction=1.0) |
YODA::Histo2D * | GetYodaHisto2D (const std::string &objectname) |
void | AddYodaProfile1D (const std::string &objectname) |
void | AddYodaProfile1D (const std::string &objectname, size_t nbins, double lower, double upper) |
void | AddYodaProfile1D (const std::string &objectname, const std::vector< double > &binedges) |
void | FillYodaProfile1D (const std::string &objectname, double x, double y, double fraction=1.0) |
YODA::Profile1D * | GetYodaProfile1D (const std::string &objectname) |
void | WriteHistos (ostream &os) |
void | set_weight (double weight) |
void | set_weights (vector< double > &weights) |
void | Reweight (double weight_multiplier) |
double | get_weight () |
void | print_cutflows () |
void | set_xsection (double xs) |
void | print_cutflows (ostream &os) |
void | write_results (ostream &ss) |
void | write_json (ostream &ss) |
bool | CheckConvergence (double margin) |
void | add (BaseAnalysis &B) |
Public Attributes | |
Efficiency1D | ElectronBDTefficiency |
Efficiency1D | MuonBDTefficiency |
Efficiency1D | ElectronCombinedEfficiency |
Efficiency1D | MuonCombinedEfficiency |
![]() | |
bool | _isMaster =false |
std::string | analysisname |
double | _totalweight |
vector< double > | _totalweights |
vector< vector< int > > | _weight_ensembles |
double | _xsection |
int | _totalevents |
HEP::Event * | Event |
std::vector< cutflow * > | cutflows |
std::map< std::string, std::vector< cutflow * > > | regionmap |
std::map< std::string, cutflow * > | regions |
double | eventweight |
vector< double > | _eventweights |
std::string | DetectorFunction |
|
virtual |
Construct MET significance from "hard" electrons, muons, jets and "soft term" – which is just an uncertainty of 8.9 GeV in each direction
baseline objects before removal are fine at this point
We have the resolution measurement of pT and pT perp from the reference.
Events are chosen for the 𝑊ℎ and on-shell 𝑊𝑍 selections using dilepton triggers and for the off-shell 𝑊𝑍 selection using single-lepton, dilepton and trilepton triggers
Single-electron triggers are not used
2004.13447: The muon triggers must be HLT_mu26_ivarmedium: efficiency about 0.7, depends on eta and pT, figure 14 HLT_2mu14 -> ?? HLT_3mu6 (so one, two or three) ???
p12: The multi-muon triggers are made either by requiring multiple muon candidates, each of which independently fires a single-muon trigger, or by finding multiple muons using the FS strategy after the leading muon candidate has been confirmed by a single-muon trigger.
The threshold on the tri-muon trigger was increased from 4 GeV to 6 GeV in 2018
[It seems the FS ones are not relevant for this analysis. ]
see figure
p24: While the primary single-muon triggers serve a wide variety of physics analyses, multi-object triggers are important in many cases where lower thresholds benefit the analysis. The efficiency of these triggers can be factorised as the product of the single-leg efficiencies
see figure 18 for mu4 which extend down to 4 GeV: efficiency about 0.75 for eta < 1.05, 0.9 for larger eta, but much less below about 8 GeV.
figure 19 for mu14: roughly constant efficiency 0.75 eta < 1.05, 0.9 for eta > 1.05,
1909.00761 The electron triggers must be L1_2EM15VH or L1_2EM20VH or L1_2EM15VHI. I can't find tri-electron triggers
single E trigger: figure 17 page 27 diEtrigger: fig 20(a) Evolution of efficiencies for dielectron trigger legs
no reference to tri-electron triggers -> maybe doesn't exist?
Reimplemented from BaseAnalysis.