10#ifndef GENERATORS_AAFH_INTERFACE_H
11#define GENERATORS_AAFH_INTERFACE_H
14#include <mdst/dataobjects/MCParticleGraph.h>
63 void setMaxWeights(
double subgeneratorWeight,
double finalWeight);
Class to inferface AAFH/DIAG36 Generator written in Fortran.
int m_particlePDG
pdg of the particle for modes c_MuonParticle and c_ElectronParticle, gets set in initialize()
AAFHInterface()=default
Default Constructor.
double m_minMass
minimum invariant mass
double getMaxSubGeneratorWeight() const
Get the maximum expected final weight for the rejection method.
ERejection
Rejection mode.
@ c_Twice
Apply rejection first for each sub generator and then for the final event.
@ c_Once
Apply rejection only once for the final event.
void setMinimumMass(double minMass)
Set the minimum invariant mass for the generated event.
void updateParticle(MCParticleGraph::GraphParticle &p, double *q, int pdg, bool isInitial=false)
update particle with generated values
double getTotalCrossSectionError() const
Return error on the total cross section.
double getTotalCrossSection() const
Return total cross section.
std::string m_particle
name of the particle for modes c_MuonParticle and c_ElectronParticle
void finish()
calculate total cross section
void generateEvent(MCParticleGraph &mpg)
generate one event and add it to the graph in CMS
void initialize(double beamEnergy, EMode mode, ERejection rejection)
initialize the generator
double getMinimumMass() const
Get the minimum invariant mass for the generated event.
@ c_ElectonElectron
E+E- -> E+E-E+E-.
@ c_ElectonMuon
E+E- -> E+E-Mu+Mu-.
@ c_MuonParticle
E+E- -> Mu+Mu-L+L- where L can be anything, defaults to tau.
@ c_MuonMuon
E+E- -> Mu+Mu-Mu+Mu-.
@ c_ElectronParticle
E+E- -> E+E-L+L- where L can be anything, defaults to tau.
void setMaxWeights(double subgeneratorWeight, double finalWeight)
Set the maximum expected weights for the rejection method.
std::string getParticle() const
Get the particle type for modes c_MuonParticle and c_ElectronParticle.
void setMaxTries(int tries)
Set the maximum number of tries to generate an event.
std::vector< double > getSuppressionLimits() const
Get suppression limits.
void setSupressionLimits(std::vector< double > limits)
Set the suppression limits when calculation the matrix elements.
void setParticle(const std::string &particle)
Set the particle type for modes c_MuonParticle and c_ElectronParticle.
int getMaxTries() const
Get the maximum number of tries to generate an event.
void setGeneratorWeights(const std::vector< double > &weights)
Set the relative weights for the sub generators.
double getMaxFinalWeight() const
Get the maximum expected subgenerator weight for the rejection method.
std::vector< double > getGeneratorWeights() const
Get the relative weights for the sub generators.
Class to represent Particle data in graph.
Class to build, validate and sort a particle decay chain.
Abstract base class for different kinds of events.