All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
evgen::ldm::MonoEnergyHiggsFlux Class Reference

MonoEnergyHiggsFlux class definiton. More...

Inheritance diagram for evgen::ldm::MonoEnergyHiggsFlux:
evgen::ldm::IMeVPrtlFlux evgen::ldm::IMeVPrtlStage

Public Member Functions

 MonoEnergyHiggsFlux (fhicl::ParameterSet const &pset)
 Constructor. More...
 
 ~MonoEnergyHiggsFlux ()
 Destructor. More...
 
bool MakeFlux (const simb::MCFlux &flux, MeVPrtlFlux &higgs, double &weight) override
 
void configure (const fhicl::ParameterSet &) override
 Interface for configuring the particular algorithm tool. More...
 
double MaxWeight () override
 
- Public Member Functions inherited from evgen::ldm::IMeVPrtlFlux
virtual ~IMeVPrtlFlux () noexcept=default
 Virtual Destructor. More...
 
 IMeVPrtlFlux (const fhicl::ParameterSet &pset)
 
- Public Member Functions inherited from evgen::ldm::IMeVPrtlStage
virtual ~IMeVPrtlStage () noexcept
 Virtual Destructor. More...
 
 IMeVPrtlStage (const char *name)
 
TVector3 RandomUnitVector ()
 
double GetRandom ()
 
const char * Name ()
 

Private Attributes

TVector3 fStart
 Start of Higgs ray in detector coordinates [cm]. More...
 
TVector3 fDir
 Direction of Higgs ray (unit vector) More...
 
double fE
 Energy of Higgs [GeV]. More...
 
double fM
 Mass of Higgs [GeV]. More...
 
double fMixingAngle
 
double fStartTime
 Start time of Higgs in detector time [us]. More...
 

Additional Inherited Members

- Protected Member Functions inherited from evgen::ldm::IMeVPrtlFlux
TLorentzVector BeamOrigin ()
 
double EnuLab (double enucm, TLorentzVector meson_mom, TLorentzVector meson_pos)
 
- Protected Attributes inherited from evgen::ldm::IMeVPrtlFlux
evgb::EvtTimeShiftI * fTimeShiftMethod
 
TRotation fBeam2Det
 
TVector3 fBeamOrigin
 
std::string fSpillTimeConfig
 
- Protected Attributes inherited from evgen::ldm::IMeVPrtlStage
CLHEP::HepRandomEngine * fEngine
 
const char * fName
 

Detailed Description

MonoEnergyHiggsFlux class definiton.

Definition at line 40 of file MonoEnergyHiggsFlux_tool.cc.

Constructor & Destructor Documentation

evgen::ldm::MonoEnergyHiggsFlux::MonoEnergyHiggsFlux ( fhicl::ParameterSet const &  pset)

Constructor.

Definition at line 68 of file MonoEnergyHiggsFlux_tool.cc.

68  :
69  IMeVPrtlStage("MonoEnergyHiggsFlux"),
70  IMeVPrtlFlux(pset)
71 {
72  this->configure(pset);
73 }
IMeVPrtlFlux(const fhicl::ParameterSet &pset)
Definition: IMeVPrtlFlux.h:49
void configure(const fhicl::ParameterSet &) override
Interface for configuring the particular algorithm tool.
IMeVPrtlStage(const char *name)
Definition: IMeVPrtlStage.h:46
evgen::ldm::MonoEnergyHiggsFlux::~MonoEnergyHiggsFlux ( )

Destructor.

Definition at line 77 of file MonoEnergyHiggsFlux_tool.cc.

78 {
79 }

Member Function Documentation

void evgen::ldm::MonoEnergyHiggsFlux::configure ( const fhicl::ParameterSet &  )
overridevirtual

Interface for configuring the particular algorithm tool.

Parameters
ParameterSetThe input set of parameters for configuration

Implements evgen::ldm::IMeVPrtlStage.

Definition at line 82 of file MonoEnergyHiggsFlux_tool.cc.

83 {
84  fStart = TVector3(pset.get<double>("X"), pset.get<double>("Y"), pset.get<double>("Z"));
85  fDir = TVector3(pset.get<double>("Xdir"), pset.get<double>("Ydir"), pset.get<double>("Zdir"));
86 
87  fE = pset.get<double>("E");
88  fM = pset.get<double>("M");
89  fMixingAngle = pset.get<double>("MixingAngle");
90  fStartTime = pset.get<double>("T", 0.);
91 
92 }
double fE
Energy of Higgs [GeV].
TVector3 fDir
Direction of Higgs ray (unit vector)
double fStartTime
Start time of Higgs in detector time [us].
TVector3 fStart
Start of Higgs ray in detector coordinates [cm].
bool evgen::ldm::MonoEnergyHiggsFlux::MakeFlux ( const simb::MCFlux &  flux,
MeVPrtlFlux higgs,
double &  weight 
)
overridevirtual

Implements evgen::ldm::IMeVPrtlFlux.

Definition at line 94 of file MonoEnergyHiggsFlux_tool.cc.

94  {
95  (void) flux;
96  higgs.pos = TLorentzVector(fStart, fStartTime);
97  // set the momentum
98  TVector3 p = fDir * sqrt(fE*fE - fM * fM);
99  higgs.mom = TLorentzVector(p, fE);
100  higgs.C1 = fMixingAngle;
101  higgs.mass = fM;
102 
103  // no kaon here
104  higgs.kmom = TLorentzVector(0, 0, 0, 0);
105  higgs.kaon_pdg = -1;
106 
107  // beam is same as detector coord
108  higgs.pos_beamcoord = higgs.pos;
109  higgs.mom_beamcoord = higgs.mom;
110  higgs.kmom_beamcoord = higgs.kmom;
111  higgs.generator = 0; // kDissonantHiggs
112 
113 
114  weight = 1.;
115  return true;
116 }
double fE
Energy of Higgs [GeV].
pdgs p
Definition: selectors.fcl:22
TVector3 fDir
Direction of Higgs ray (unit vector)
double fStartTime
Start time of Higgs in detector time [us].
j template void())
Definition: json.hpp:3108
TVector3 fStart
Start of Higgs ray in detector coordinates [cm].
double evgen::ldm::MonoEnergyHiggsFlux::MaxWeight ( )
inlineoverridevirtual

Implements evgen::ldm::IMeVPrtlStage.

Definition at line 57 of file MonoEnergyHiggsFlux_tool.cc.

57 { return -1.; }

Member Data Documentation

TVector3 evgen::ldm::MonoEnergyHiggsFlux::fDir
private

Direction of Higgs ray (unit vector)

Definition at line 61 of file MonoEnergyHiggsFlux_tool.cc.

double evgen::ldm::MonoEnergyHiggsFlux::fE
private

Energy of Higgs [GeV].

Definition at line 62 of file MonoEnergyHiggsFlux_tool.cc.

double evgen::ldm::MonoEnergyHiggsFlux::fM
private

Mass of Higgs [GeV].

Definition at line 63 of file MonoEnergyHiggsFlux_tool.cc.

double evgen::ldm::MonoEnergyHiggsFlux::fMixingAngle
private

Definition at line 64 of file MonoEnergyHiggsFlux_tool.cc.

TVector3 evgen::ldm::MonoEnergyHiggsFlux::fStart
private

Start of Higgs ray in detector coordinates [cm].

Definition at line 60 of file MonoEnergyHiggsFlux_tool.cc.

double evgen::ldm::MonoEnergyHiggsFlux::fStartTime
private

Start time of Higgs in detector time [us].

Definition at line 65 of file MonoEnergyHiggsFlux_tool.cc.


The documentation for this class was generated from the following file: