MINT2
Public Member Functions | Private Attributes | List of all members
MINT::MintGen Class Reference

#include <D_hhhh.h>

Inheritance diagram for MINT::MintGen:
MINT::IMintGen

Public Member Functions

 MintGen ()
 
virtual ~MintGen ()
 
void Initalize (const std::vector< int > &pat, TRandom *rnd=gRandom)
 
void SetInputTextFile (std::string inputFile)
 
std::vector< std::vector< double > > DecayEventRFVec ()
 
std::vector< double > getDaughterMom (IDalitzEvent *, int)
 
void SetDalitzEvent (IDalitzEvent *)
 

Private Attributes

std::string m_inputFileName
 
IDalitzEventm_dE
 
SignalGeneratorm_sg
 
bool m_swap
 

Detailed Description

Definition at line 34 of file D_hhhh.h.

Constructor & Destructor Documentation

◆ MintGen()

MintGen::MintGen ( )

Definition at line 27 of file D_hhhh.cpp.

28 {
29  // TODO Auto-generated constructor stub
30 }

◆ ~MintGen()

MintGen::~MintGen ( )
virtual

Definition at line 32 of file D_hhhh.cpp.

33 {
34  // TODO Auto-generated destructor stub
35 }

Member Function Documentation

◆ DecayEventRFVec()

std::vector< std::vector< double > > MintGen::DecayEventRFVec ( )
virtual

Implements MINT::IMintGen.

Definition at line 98 of file D_hhhh.cpp.

99 {
101 
102 
103  IDalitzEvent* dE = newEvt.get();
104 
105  std::vector<std::vector<double> > daughters;
106 
107  // Loop over 4 daughters
108  // Start at 1 as 0 is the mother particles
109  for (int i = 1; i < 5; i++)
110  {
111  std::vector<double> DaughterMom = this->getDaughterMom(dE,i);
112  daughters.push_back(DaughterMom);
113  }
114  return daughters;
115 }
std::vector< double > getDaughterMom(IDalitzEvent *, int)
Definition: D_hhhh.cpp:44
virtual MINT::counted_ptr< IDalitzEvent > newEvent()
SignalGenerator * m_sg
Definition: D_hhhh.h:55
X * get() const
Definition: counted_ptr.h:123

◆ getDaughterMom()

std::vector< double > MintGen::getDaughterMom ( IDalitzEvent dE,
int  daughter 
)

Definition at line 44 of file D_hhhh.cpp.

45 {
46  std::vector<double> DaughterMom;
47  DaughterMom.push_back(dE->p(daughter).T()/1000);
48  DaughterMom.push_back(dE->p(daughter).X()/1000);
49  DaughterMom.push_back(dE->p(daughter).Y()/1000);
50  DaughterMom.push_back(dE->p(daughter).Z()/1000);
51 
52  return DaughterMom;
53 }
virtual const TLorentzVector & p(unsigned int i) const =0

◆ Initalize()

void MintGen::Initalize ( const std::vector< int > &  pat,
TRandom *  rnd = gRandom 
)
virtual

Implements MINT::IMintGen.

Definition at line 56 of file D_hhhh.cpp.

57 {
58  m_swap = false;
59  std::cout <<"m_inputFileName " << m_inputFileName << std::endl;
61 
62 
63  NamedParameter<int> RandomSeed("RandomSeed", 0);
64  std::cout << " Random Seed " << RandomSeed << std::endl;
65 
66 
67  NamedParameter<double> integPrecision("IntegPrecision", 1.e-4);
68  NamedParameter<std::string> integMethod("IntegMethod"
69  , (std::string)"efficient");
70 
71 
72  NamedParameter<int> EventPattern("Event Pattern", 421, -321, 211, -211, 211); // takes Pdg_id (421 is D0)
73  std::vector<int> TextEvtpattern = EventPattern.getVector();
74 // DalitzEventPattern pdg_text(TextEvtpattern);
75  DalitzEventPattern pdg(patternVec);
76 // DalitzEventPattern pdg(EventPattern.getVector());
77 
78  // some initialisation
79 // TRandom3 ranLux;
80 // ranLux.SetSeed((int)RandomSeed);
81  std::cout << " got event pattern: " << pdg << std::endl;
82 
83  if (patternVec[0] < 0)
84  {
85  m_swap = true;
86  cout << "Mother Particle " <<patternVec[0] << std::endl;
87  pdg = pdg.makeCPConjugate();
88  }
89 
90  std::cout << " got event pattern: " << pdg << std::endl;
91 
92 
93 // std::cout << " Text input event pattern: " << pdg_text << std::endl;
94 
95  m_sg = new SignalGenerator(pdg, rnd);
96 }
std::string m_inputFileName
Definition: D_hhhh.h:53
static bool setDefaultInputFile(const std::string &fname)
SignalGenerator * m_sg
Definition: D_hhhh.h:55
bool m_swap
Definition: D_hhhh.h:56

◆ SetDalitzEvent()

void MINT::MintGen::SetDalitzEvent ( IDalitzEvent )

◆ SetInputTextFile()

void MintGen::SetInputTextFile ( std::string  inputFile)
virtual

Implements MINT::IMintGen.

Definition at line 38 of file D_hhhh.cpp.

39 {
40  m_inputFileName = inputFile;
41 }
std::string m_inputFileName
Definition: D_hhhh.h:53

Member Data Documentation

◆ m_dE

IDalitzEvent* MINT::MintGen::m_dE
private

Definition at line 54 of file D_hhhh.h.

◆ m_inputFileName

std::string MINT::MintGen::m_inputFileName
private

Definition at line 53 of file D_hhhh.h.

◆ m_sg

SignalGenerator* MINT::MintGen::m_sg
private

Definition at line 55 of file D_hhhh.h.

◆ m_swap

bool MINT::MintGen::m_swap
private

Definition at line 56 of file D_hhhh.h.


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