DAS  3.0
Das Analysis System
Strategy

Description

Different strategies are possible to determine the trigger efficiency of jets systems, e.g. should we trigger on

  • highest pt?
  • most central?
  • most forward?
  • best match?
  • any?
  • all jets?
  • ...

This class includes the selection and the corresponding histograms to fill to get the response and the efficiency.

+ Collaboration diagram for Strategy:

Public Member Functions

 Strategy (string name, const vector< double > &thresholds)
 
tuple< float, float, float > GetFillValues (const auto &hlt_it, const auto &rec_it, const double threshold)
 
void Fill (const RecJet &recjet, const FourVector &hltjet, const vector< bool > &Bits, double w, size_t shift=1)
 
void Write (TDirectory *d)
 

Private Attributes

const char * axistitle = ";p_{T}^{HLT};|#eta^{rec}|;#frac{p_{T}^{rec}}{p_{T}^{HLT bin low edge}}"
 
string name
 
vector< double > thresholds
 
unique_ptr< TEfficiency > efficiency
 
unique_ptr< TH3 > response
 

Constructor & Destructor Documentation

◆ Strategy()

Strategy ( string  name,
const vector< double > &  thresholds 
)
inline

Extracts the appropriate values from the input, fills the efficiency and the response for each trigger and stores the histograms in the output file.

71  : name(name)
73  , efficiency(makeRespHist<TEfficiency>(name + "_efficiency", thresholds, axistitle))
74  , response (makeRespHist<TH3D> (name + "_response" , thresholds, axistitle))
75  { }

Member Function Documentation

◆ Fill()

void Fill ( const RecJet recjet,
const FourVector hltjet,
const vector< bool > &  Bits,
double  w,
size_t  shift = 1 
)
inline
89  {
90  for (size_t i = shift; i < Bits.size(); ++i) {
91 
92  // the reference trigger must have fired
93  if (!Bits.at(i-1)) continue;
94 
95  double test_threshold = thresholds[i ],
96  ref_threshold = thresholds[i-shift];
97 
98  float recpt = recjet.CorrPt(),
99  norm_recpt = recpt/test_threshold,
100  hltpt = hltjet.Pt(),
101  receta = abs( recjet.p4.Eta() );
102 
103  bool pass = hltpt > test_threshold;
104 
105  double jw = recjet.Weight();
106  efficiency->FillWeighted(pass, jw*w , test_threshold, receta, norm_recpt);
107  response ->Fill(test_threshold, receta, norm_recpt, jw*w);
108  }
109  }

◆ GetFillValues()

tuple<float, float, float> GetFillValues ( const auto &  hlt_it,
const auto &  rec_it,
const double  threshold 
)
inline
78  {
79  auto ptrec = rec_it->CorrPt();
80  auto pthlt = hlt_it->Pt();
81 
82  auto delta = ptrec/threshold;
83  auto etarec = abs(rec_it.p4.Eta());
84 
85  return make_tuple(pthlt, etarec, ptrec);
86  }

◆ Write()

void Write ( TDirectory *  d)
inline
112  {
113  d->cd();
114  auto dd = d->mkdir(name.c_str());
115  dd->cd();
116  efficiency->SetDirectory(dd);
117  efficiency->Write("efficiency");
118  response->SetDirectory(dd);
119  response->Write("response");
120  }

Member Data Documentation

◆ axistitle

const char* axistitle = ";p_{T}^{HLT};|#eta^{rec}|;#frac{p_{T}^{rec}}{p_{T}^{HLT bin low edge}}"
private

◆ efficiency

unique_ptr<TEfficiency> efficiency
private

Trigger efficiency.

◆ name

string name
private

criterion (see global description of the class)

◆ response

unique_ptr<TH3> response
private

Actual response (different from that of Core/JEC/bin/getHLTJetResponse)

◆ thresholds

vector<double> thresholds
private

HLT single jet trigger thresholds.


The documentation for this class was generated from the following file:
DAS::PhysicsObject::p4
FourVector p4
raw four-momentum directly after reconstruction
Definition: PhysicsObject.h:50
DAS::PhysicsObject::Weight
double Weight(const Uncertainties::Variation &v=Uncertainties::nominal) const final
< weight
Definition: PhysicsObject.h:67
DAS::Normalisation::Strategy::efficiency
unique_ptr< TEfficiency > efficiency
Trigger efficiency.
Definition: getTriggerEfficiencyEmulation.cc:62
DAS::JetEnergy::w
static const float w
Definition: common.h:53
DAS::Normalisation::Strategy::name
string name
criterion (see global description of the class)
Definition: getTriggerEfficiencyEmulation.cc:58
recjet
DAS::RecJet recjet
Definition: classes.h:15
DAS::PhysicsObject::CorrPt
float CorrPt(size_t i) const
corrected transverse momentum
Definition: PhysicsObject.h:55
DAS::Normalisation::Strategy::thresholds
vector< double > thresholds
HLT single jet trigger thresholds.
Definition: getTriggerEfficiencyEmulation.cc:60
DAS::Normalisation::Strategy::axistitle
const char * axistitle
Definition: getTriggerEfficiencyEmulation.cc:56
DAS::Normalisation::threshold
const float threshold
Definition: sigmoid.h:14
DAS::Normalisation::Strategy::response
unique_ptr< TH3 > response
Actual response (different from that of Core/JEC/bin/getHLTJetResponse)
Definition: getTriggerEfficiencyEmulation.cc:63