|
virtual TMatrixD const * | GetInvLorentzBoost () const override |
|
| HLLHCEvtVtxGenerator (const edm::ParameterSet &p) |
|
virtual HepMC::FourVector | newVertex (CLHEP::HepRandomEngine *) const override |
| return a new event vertex More...
|
|
virtual | ~HLLHCEvtVtxGenerator () |
|
| BaseEvtVtxGenerator (const edm::ParameterSet &) |
|
virtual void | produce (edm::Event &, const edm::EventSetup &) override |
|
virtual | ~BaseEvtVtxGenerator () |
|
| EDProducer ()=default |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
virtual | ~EDProducerBase () |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
|
virtual | ~ProducerBase () noexcept(false) |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef CacheContexts< T... > | CacheTypes |
|
typedef CacheTypes::GlobalCache | GlobalCache |
|
typedef AbilityChecker< T... > | HasAbility |
|
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
|
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
|
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
|
typedef CacheTypes::RunCache | RunCache |
|
typedef RunContextT< RunCache, GlobalCache > | RunContext |
|
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
|
typedef EDProducerAdaptorBase | ModuleType |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
Definition at line 26 of file HLLHCEvtVtxGenerator.h.
double HLLHCEvtVtxGenerator::integrandCC |
( |
double |
x, |
|
|
double |
z, |
|
|
double |
t |
|
) |
| const |
|
private |
Definition at line 161 of file HLLHCEvtVtxGenerator.cc.
References bets, betx, constexpr, funct::cos(), JetChargeProducer_cfi::exp, gen::k, phi, phiCR, mps_fire::result, RF800, alignCSCRings::s, sigs, sigx, funct::sin(), mathSSE::sqrt(), wcc, and z.
Referenced by intensity().
164 constexpr double local_c_light = 2.99792458e8;
166 const double k =
wcc/local_c_light*two_pi;
167 const double k2 = k*
k;
170 const double cos2 = cos*
cos;
171 const double sin2 = sin*
sin;
174 const double sigmax2=sigx2*(1+
z*
z/(
betx*
betx));
178 constexpr double factorRMSgauss4 = 1./sqrt2/gamma34 * gamma14;
179 constexpr double NormFactorGauss4 = sqrt2to5 * gamma54 * gamma54;
182 const double sinCR2 = sinCR*sinCR;
187 const double norm =2.0/(two_pi*sigs2);
192 -1.0/(4*k2*sigmax2)*(
200 -
x*
x*(cos2/sigmax2 + sin2/sigs2)
202 + 2*
x*
cos*cosks*sinkct*sinCR/
k/sigmax2
209 const double norm = 2.0/(NormFactorGauss4*sigs2*factorRMSgauss4);
210 const double sigs4=sigs2*sigs2*factorRMSgauss4*factorRMSgauss4;
215 -z*z*z*z*cos2*cos2/sigs4
216 -6*ct*ct*z*z*cos2/sigs4
217 -sin2/(4*k2*sigmax2)*(
223 -4 * cosks*cosks * sinct*sinct)
Sin< T >::type sin(const T &t)
Cos< T >::type cos(const T &t)
HepMC::FourVector HLLHCEvtVtxGenerator::newVertex |
( |
CLHEP::HepRandomEngine * |
engine | ) |
const |
|
overridevirtual |
return a new event vertex
Implements BaseEvtVtxGenerator.
Definition at line 88 of file HLLHCEvtVtxGenerator.cc.
References betagamma, bets, betx, KineDebug3::count(), epssn, epsxn, fMeanX, fMeanY, fMeanZ, fTimeOffset, mps_fire::i, intensity(), sigma(), sigs, lumiQTWidget::t, x, y, and z.
92 double x(0.),
y(0.),
z(0.),
t(0.),
i(0.);
96 auto shoot = [&](){
return CLHEP::RandFlat::shoot(engine); };
99 z=(shoot()-0.5)*6.0*
sigs;
100 t=(shoot()-0.5)*6.0*
sigs;
107 <<
"i>imax : "<<
i<<
" > "<<imax<<endl;
109 }
while ((
i<imax*shoot())&&count<10000);
112 <<
" count : "<<count<<endl;
125 return HepMC::FourVector(
x,
y,
z,
t );
double intensity(double x, double y, double z, double t) const
double sigma(double z, double epsilon, double beta, double betagamma) const