CMS 3D CMS Logo

PhotosInterface.h
Go to the documentation of this file.
1 #ifndef gen_PhotosInterface_PhotosInterface_h
2 #define gen_PhotosInterface_PhotosInterface_h
3 
4 // #include "HepPDT/ParticleDataTable.hh"
5 
9 
10 #include "HepMC/SimpleVector.h"
12 
13 namespace HepMC {
14  class GenEvent;
15  class GenVertex;
16 } // namespace HepMC
17 
18 namespace gen {
20  public:
21  // ctor & dtor
24  ~PhotosInterface() override;
25 
26  void init() override;
27  const std::vector<std::string>& specialSettings() override { return fSpecialSettings; }
29  void configureOnlyFor(int) override;
30  void avoidTauLeptonicDecays() override {
32  return;
33  }
34  bool isTauLeptonicDecay(HepMC::GenVertex*);
35  void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) override;
36  static double flat();
37 
38  private:
39  int fOnlyPDG;
41  std::vector<int> fBarcodes;
42  std::vector<int> fSecVtxStore;
44 
45  void applyToVertex(HepMC::GenEvent*, int);
46  void applyToBranch(HepMC::GenEvent*, int);
47  void attachParticles(HepMC::GenEvent*, HepMC::GenVertex*, int);
48 
49  static CLHEP::HepRandomEngine* fRandomEngine;
50  };
51 } // namespace gen
52 
53 #endif
gen::PhotosInterface::fOnlyPDG
int fOnlyPDG
Definition: PhotosInterface.h:39
gen::PhotosInterface::fRandomEngine
static CLHEP::HepRandomEngine * fRandomEngine
Definition: PhotosInterface.h:49
ESHandle.h
gen::PhotosInterface::applyToBranch
void applyToBranch(HepMC::GenEvent *, int)
Definition: PhotosInterface.cc:253
gen::PhotosInterface::applyToVertex
void applyToVertex(HepMC::GenEvent *, int)
Definition: PhotosInterface.cc:167
gen::PhotosInterface::flat
static double flat()
Definition: PhotosInterface.cc:422
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::PhotosInterface::PhotosInterface
PhotosInterface()
Definition: PhotosInterface.cc:32
gen::PhotosInterface::fSecVtxStore
std::vector< int > fSecVtxStore
Definition: PhotosInterface.h:42
gen::PhotosInterface::apply
HepMC::GenEvent * apply(HepMC::GenEvent *) override
Definition: PhotosInterface.cc:68
gen::PhotosInterfaceBase::fSpecialSettings
std::vector< std::string > fSpecialSettings
Definition: PhotosInterfaceBase.h:28
gen::PhotosInterface::isTauLeptonicDecay
bool isTauLeptonicDecay(HepMC::GenVertex *)
Definition: PhotosInterface.cc:407
gen::PhotosInterface::attachParticles
void attachParticles(HepMC::GenEvent *, HepMC::GenVertex *, int)
Definition: PhotosInterface.cc:276
gen
Definition: PythiaDecays.h:13
gen::PhotosInterface::init
void init() override
Definition: PhotosInterface.cc:57
edm::ParameterSet
Definition: ParameterSet.h:36
gen::PhotosInterface
Definition: PhotosInterface.h:19
gen::PhotosInterfaceBase
Definition: PhotosInterfaceBase.h:14
gen::PhotosInterface::fIsInitialized
bool fIsInitialized
Definition: PhotosInterface.h:43
gen::PhotosInterface::configureOnlyFor
void configureOnlyFor(int) override
Definition: PhotosInterface.cc:47
PhotosInterfaceBase.h
gen::PhotosInterface::avoidTauLeptonicDecays
void avoidTauLeptonicDecays() override
Definition: PhotosInterface.h:30
gen::PhotosInterface::~PhotosInterface
~PhotosInterface() override
Definition: PhotosInterface.cc:43
HepMC
Definition: GenParticle.h:15
EventSetup.h
gen::PhotosInterface::specialSettings
const std::vector< std::string > & specialSettings() override
Definition: PhotosInterface.h:27
gen::PhotosInterface::fAvoidTauLeptonicDecays
bool fAvoidTauLeptonicDecays
Definition: PhotosInterface.h:40
ParameterSet.h
gen::PhotosInterface::fBarcodes
std::vector< int > fBarcodes
Definition: PhotosInterface.h:41
gen::PhotosInterface::setRandomEngine
void setRandomEngine(CLHEP::HepRandomEngine *decayRandomEngine) override
Definition: PhotosInterface.cc:45