DAS  3.0
Das Analysis System
DalitzFillerfinal

#include <ZmmY.h>

+ Inheritance diagram for DalitzFiller:
+ Collaboration diagram for DalitzFiller:

Public Member Functions

 DalitzFiller (const Dalitz &, Darwin::Tools::Flow &)
 
std::vector< double > computeObservableValue2D (const void *event, const Uncertainties::Variation &v, bool isGen) const override
 
const ObservablegetObs () const override
 
int getObsDimension () const override
 
- Public Member Functions inherited from ZmmYFiller
 ZmmYFiller (Darwin::Tools::Flow &flow, bool isMC)
 
template<typename MUON , typename PHOTON >
int GetBinNumber (const TUnfoldBinning *binning, const EventInfo< MUON, PHOTON > &event, const Uncertainties::Variation &v) const
 
template<typename MUON , typename PHOTON >
int GetBinNumber2D (const TUnfoldBinning *binning, const EventInfo< MUON, PHOTON > &event, const Uncertainties::Variation &v) const
 
std::list< int > fillRec (DistVariation &v) override
 
void match () override
 
void fillMC (DistVariation &v) override
 
- Public Member Functions inherited from Filler
virtual ~Filler ()=default
 

Public Attributes

const Dalitzobs
 
- Public Attributes inherited from ZmmYFiller
EventInfo< RecMuon, RecPhotonrInfo
 
std::vector< GenMuon > * genMuons
 
std::vector< RecMuon > * recMuons
 
std::vector< GenPhoton > * genPhotons
 
std::vector< RecPhoton > * recPhotons
 
GenEventgEv
 
RecEventrEv
 

Private Member Functions

template<typename MUON , typename PHOTON >
std::vector< double > computeDalitz (const EventInfo< MUON, PHOTON > &event, const Uncertainties::Variation &v) const
 

Additional Inherited Members

- Protected Member Functions inherited from ZmmYFiller
virtual double computeObservableValue (const void *event, const Uncertainties::Variation &v, bool isGen) const
 

Constructor & Destructor Documentation

◆ DalitzFiller()

DalitzFiller ( const Dalitz obs,
Darwin::Tools::Flow flow 
)
199  : ZmmYFiller(flow, obs.isMC), obs(obs)
200 {}

Member Function Documentation

◆ computeDalitz()

std::vector< double > computeDalitz ( const EventInfo< MUON, PHOTON > &  event,
const Uncertainties::Variation v 
) const
private
215  {
216  const auto pGamma = event.selectedPhotons[0].CorrP4(v);
217  const auto m2MuMu = event.mMuMu * event.mMuMu;
218  const auto m2MuMuGamma = event.mMuMuGamma * event.mMuMuGamma;
219  const auto m2MuGamma = std::min((event.dimuon.first->CorrP4(v) + pGamma).M2(),
220  (event.dimuon.second->CorrP4(v) + pGamma).M2());
221  double m2Ratio = m2MuMuGamma > 0 ? m2MuMu / m2MuMuGamma : 0.0;
222  double mMuGamma2 = (m2MuMuGamma - m2MuMu) > 0 ? m2MuGamma / (m2MuMuGamma - m2MuMu) : 0.0;
223  return {m2Ratio, mMuGamma2};
224 }

◆ computeObservableValue2D()

std::vector< double > computeObservableValue2D ( const void *  event,
const Uncertainties::Variation v,
bool  isGen 
) const
overridevirtual

Reimplemented from ZmmYFiller.

226  {
227  if (isGen) {
228  return computeDalitz(*static_cast<const EventInfo<GenMuon, GenPhoton>*>(event), v);
229  } else {
230  return computeDalitz(*static_cast<const EventInfo<RecMuon, RecPhoton>*>(event), v);
231  }
232 }

◆ getObs()

const Observable* getObs ( ) const
inlineoverridevirtual

Implements ZmmYFiller.

165 { return &obs; }

◆ getObsDimension()

int getObsDimension ( ) const
inlineoverridevirtual

Reimplemented from ZmmYFiller.

166 { return 2; }

Member Data Documentation

◆ obs

const Dalitz& obs

The documentation for this struct was generated from the following files:
DAS::Unfolding::ZmmY::EventInfo
Definition: ZmmYCommon.h:28
DAS::Unfolding::ZmmY::DalitzFiller::computeDalitz
std::vector< double > computeDalitz(const EventInfo< MUON, PHOTON > &event, const Uncertainties::Variation &v) const
Definition: ZmmY.cc:215
DAS::Unfolding::Observable::isMC
static bool isMC
Definition: Observable.h:119
DAS::Unfolding::ZmmY::EventInfo::dimuon
Di< const Muon, const Muon > dimuon
The dimuon system. Invalid for NotSelected events.
Definition: ZmmYCommon.h:45
DAS::Unfolding::ZmmY::DalitzFiller::obs
const Dalitz & obs
Definition: ZmmY.h:162
DAS::Unfolding::ZmmY::ZmmYFiller::ZmmYFiller
ZmmYFiller(Darwin::Tools::Flow &flow, bool isMC)
Definition: ZmmY.h:29