CMS 3D CMS Logo

BaseProtonTransport.h
Go to the documentation of this file.
1 #ifndef BASEPROTONTRANSPORT
2 #define BASEPROTONTRANSPORT
5 #include "HepMC/GenEvent.h"
9 #include <vector>
10 #include <map>
11 #include <string>
12 #include "TLorentzVector.h"
13 
14 namespace CLHEP {
15  class HepRandomEngine;
16 }
18 public:
19  BaseProtonTransport(const edm::ParameterSet& iConfig);
20  virtual ~BaseProtonTransport() { this->clear(); };
21 
22  std::vector<LHCTransportLink>& getCorrespondenceMap() { return m_CorrespondenceMap; }
23  virtual void process(const HepMC::GenEvent* ev, const edm::EventSetup& es, CLHEP::HepRandomEngine* engine) = 0;
24 
25  void clear();
26 
28 
30  void ApplyBeamCorrection(TLorentzVector& p);
31 
32  void setBeamEnergy(double e) {
33  beamEnergy_ = e;
35  }
36 
37  double beamEnergy() { return beamEnergy_; };
38  double beamMomentum() { return beamMomentum_; };
39 
40 protected:
43 
44  int NEvent;
45  CLHEP::HepRandomEngine* engine_;
46  std::vector<LHCTransportLink> m_CorrespondenceMap;
47  std::map<unsigned int, TLorentzVector> m_beamPart;
48  std::map<unsigned int, double> m_xAtTrPoint;
49  std::map<unsigned int, double> m_yAtTrPoint;
50 
51  bool verbosity_;
53 
56 
63 
64  double beamMomentum_;
65  double beamEnergy_;
66  double etaCut_;
67  double momentumCut_;
68 
69  double m_sigmaSTX;
70  double m_sigmaSTY;
71  double m_sigmaSX;
72  double m_sigmaSY;
73  double m_sig_E;
74  double fBeamXatIP;
75  double fBeamYatIP;
76 };
77 #endif
BaseProtonTransport::beam2Filename_
std::string beam2Filename_
Definition: BaseProtonTransport.h:55
BaseProtonTransport::beamMomentum_
double beamMomentum_
Definition: BaseProtonTransport.h:64
BaseProtonTransport::TransportMode::OPTICALFUNCTIONS
MessageLogger.h
BaseProtonTransport::m_sigmaSTY
double m_sigmaSTY
Definition: BaseProtonTransport.h:70
BaseProtonTransport::clear
void clear()
Definition: BaseProtonTransport.cc:109
BaseProtonTransport::MODE
TransportMode MODE
Definition: BaseProtonTransport.h:42
BaseProtonTransport::ApplyBeamCorrection
void ApplyBeamCorrection(HepMC::GenParticle *p)
Definition: BaseProtonTransport.cc:17
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
BaseProtonTransport::verbosity_
bool verbosity_
Definition: BaseProtonTransport.h:51
BaseProtonTransport::setBeamEnergy
void setBeamEnergy(double e)
Definition: BaseProtonTransport.h:32
BaseProtonTransport::fPPSRegionStart_45
double fPPSRegionStart_45
Definition: BaseProtonTransport.h:57
PPSUnitConversion.h
BaseProtonTransport::TransportMode::HECTOR
BaseProtonTransport::TransportMode
TransportMode
Definition: BaseProtonTransport.h:41
BaseProtonTransport::momentumCut_
double momentumCut_
Definition: BaseProtonTransport.h:67
BaseProtonTransport::process
virtual void process(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine)=0
BaseProtonTransport::m_sig_E
double m_sig_E
Definition: BaseProtonTransport.h:73
BaseProtonTransport::addPartToHepMC
void addPartToHepMC(const HepMC::GenEvent *, HepMC::GenEvent *)
Definition: BaseProtonTransport.cc:55
BaseProtonTransport::m_sigmaSY
double m_sigmaSY
Definition: BaseProtonTransport.h:72
BaseProtonTransport::fPPSRegionStart_56
double fPPSRegionStart_56
Definition: BaseProtonTransport.h:58
BaseProtonTransport::beam1Filename_
std::string beam1Filename_
Definition: BaseProtonTransport.h:54
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
BaseProtonTransport::m_sigmaSX
double m_sigmaSX
Definition: BaseProtonTransport.h:71
BaseProtonTransport::~BaseProtonTransport
virtual ~BaseProtonTransport()
Definition: BaseProtonTransport.h:20
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
BaseProtonTransport::NEvent
int NEvent
Definition: BaseProtonTransport.h:44
CLHEP
Definition: CocoaGlobals.h:27
BaseProtonTransport::fCrossingAngleY_45
double fCrossingAngleY_45
Definition: BaseProtonTransport.h:61
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
BaseProtonTransport::fCrossingAngleX_45
double fCrossingAngleX_45
Definition: BaseProtonTransport.h:59
ProtonMassSQ
static const double ProtonMassSQ
Definition: PPSUnitConversion.h:6
edm::ParameterSet
Definition: ParameterSet.h:47
BaseProtonTransport::etaCut_
double etaCut_
Definition: BaseProtonTransport.h:66
BaseProtonTransport::fBeamXatIP
double fBeamXatIP
Definition: BaseProtonTransport.h:74
BaseProtonTransport::bApplyZShift
bool bApplyZShift
Definition: BaseProtonTransport.h:52
BaseProtonTransport::m_beamPart
std::map< unsigned int, TLorentzVector > m_beamPart
Definition: BaseProtonTransport.h:47
BaseProtonTransport
Definition: BaseProtonTransport.h:17
edm::EventSetup
Definition: EventSetup.h:58
BaseProtonTransport::engine_
CLHEP::HepRandomEngine * engine_
Definition: BaseProtonTransport.h:45
BaseProtonTransport::fCrossingAngleY_56
double fCrossingAngleY_56
Definition: BaseProtonTransport.h:62
BaseProtonTransport::TransportMode::TOTEM
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
BaseProtonTransport::m_yAtTrPoint
std::map< unsigned int, double > m_yAtTrPoint
Definition: BaseProtonTransport.h:49
BaseProtonTransport::m_sigmaSTX
double m_sigmaSTX
Definition: BaseProtonTransport.h:69
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
BaseProtonTransport::beamEnergy_
double beamEnergy_
Definition: BaseProtonTransport.h:65
EventSetup.h
BaseProtonTransport::m_xAtTrPoint
std::map< unsigned int, double > m_xAtTrPoint
Definition: BaseProtonTransport.h:48
BaseProtonTransport::fCrossingAngleX_56
double fCrossingAngleX_56
Definition: BaseProtonTransport.h:60
BaseProtonTransport::beamMomentum
double beamMomentum()
Definition: BaseProtonTransport.h:38
BaseProtonTransport::BaseProtonTransport
BaseProtonTransport(const edm::ParameterSet &iConfig)
Definition: BaseProtonTransport.cc:8
BaseProtonTransport::fBeamYatIP
double fBeamYatIP
Definition: BaseProtonTransport.h:75
BaseProtonTransport::getCorrespondenceMap
std::vector< LHCTransportLink > & getCorrespondenceMap()
Definition: BaseProtonTransport.h:22
ParameterSet.h
BaseProtonTransport::m_CorrespondenceMap
std::vector< LHCTransportLink > m_CorrespondenceMap
Definition: BaseProtonTransport.h:46
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
BaseProtonTransport::beamEnergy
double beamEnergy()
Definition: BaseProtonTransport.h:37