CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MixBoostEvtVtxGenerator Class Reference
Inheritance diagram for MixBoostEvtVtxGenerator:
edm::one::EDProducer<> edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void Alpha (double m=0)
 angle between crossing plane and horizontal plane More...
 
void Beta (double m=0)
 
double BetaFunction (double z, double z0)
 beta function More...
 
void betastar (double m=0)
 set beta_star More...
 
void emittance (double m=0)
 emittance (no the normalized) More...
 
virtual TMatrixD * GetInvLorentzBoost ()
 
virtual HepMC::FourVector * getRecVertex (edm::Event &)
 
virtual HepMC::FourVector * getVertex (edm::Event &)
 
 MixBoostEvtVtxGenerator (const edm::ParameterSet &p)
 
 MixBoostEvtVtxGenerator (const MixBoostEvtVtxGenerator &p)=delete
 
MixBoostEvtVtxGeneratoroperator= (const MixBoostEvtVtxGenerator &rhs)=delete
 
void Phi (double m=0)
 set half crossing angle More...
 
void produce (edm::Event &, const edm::EventSetup &) override
 return a new event vertex More...
 
void sigmaZ (double s=1.0)
 set resolution in Z in cm More...
 
void X0 (double m=0)
 set mean in X in cm More...
 
void Y0 (double m=0)
 set mean in Y in cm More...
 
void Z0 (double m=0)
 set mean in Z in cm More...
 
 ~MixBoostEvtVtxGenerator () override
 
- Public Member Functions inherited from edm::one::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () 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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

double alpha_
 
double beta_
 
TMatrixD * boost_
 
double falpha
 
double fbetastar
 
double femittance
 
double fSigmaZ
 
double fTimeOffset
 
HepMC::FourVector * fVertex
 
double fX0
 
double fY0
 
double fZ0
 
const edm::EDGetTokenT< CrossingFrame< HepMCProduct > > mixLabel
 
double phi_
 
const edm::EDGetTokenT< HepMCProductsignalLabel
 
const bool useRecVertex
 
const edm::EDGetTokenT< reco::VertexCollectionvtxLabel
 
std::vector< double > vtxOffset
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 50 of file MixBoostEvtVtxGenerator.cc.

Constructor & Destructor Documentation

◆ MixBoostEvtVtxGenerator() [1/2]

MixBoostEvtVtxGenerator::MixBoostEvtVtxGenerator ( const edm::ParameterSet p)

Definition at line 110 of file MixBoostEvtVtxGenerator.cc.

References alpha_, beta_, phi_, muonDTDigis_cfi::pset, and vtxOffset.

111  : fVertex(nullptr),
112  boost_(nullptr),
113  fTimeOffset(0),
114  vtxLabel(mayConsume<reco::VertexCollection>(pset.getParameter<edm::InputTag>("vtxLabel"))),
115  signalLabel(consumes<HepMCProduct>(pset.getParameter<edm::InputTag>("signalLabel"))),
116  mixLabel(consumes<CrossingFrame<HepMCProduct> >(pset.getParameter<edm::InputTag>("mixLabel"))),
117  useRecVertex(pset.exists("useRecVertex") ? pset.getParameter<bool>("useRecVertex") : false) {
118  beta_ = pset.getParameter<double>("Beta");
119  alpha_ = 0;
120  phi_ = 0;
121  if (pset.exists("Alpha")) {
122  alpha_ = pset.getParameter<double>("Alpha") * radian;
123  phi_ = pset.getParameter<double>("Phi") * radian;
124  }
125 
126  vtxOffset.resize(3);
127  if (pset.exists("vtxOffset"))
128  vtxOffset = pset.getParameter<std::vector<double> >("vtxOffset");
129 
130  produces<edm::HepMCProduct>();
131 }
const edm::EDGetTokenT< CrossingFrame< HepMCProduct > > mixLabel
std::vector< double > vtxOffset
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EDGetTokenT< reco::VertexCollection > vtxLabel
const edm::EDGetTokenT< HepMCProduct > signalLabel

◆ MixBoostEvtVtxGenerator() [2/2]

MixBoostEvtVtxGenerator::MixBoostEvtVtxGenerator ( const MixBoostEvtVtxGenerator p)
delete

Copy constructor

◆ ~MixBoostEvtVtxGenerator()

MixBoostEvtVtxGenerator::~MixBoostEvtVtxGenerator ( )
override

Definition at line 133 of file MixBoostEvtVtxGenerator.cc.

References boost_, and fVertex.

133  {
134  if (fVertex != nullptr)
135  delete fVertex;
136  if (boost_ != nullptr)
137  delete boost_;
138 }

Member Function Documentation

◆ Alpha()

void MixBoostEvtVtxGenerator::Alpha ( double  m = 0)
inline

angle between crossing plane and horizontal plane

Definition at line 78 of file MixBoostEvtVtxGenerator.cc.

References visualization-live-secondInstance_cfg::m.

◆ Beta()

void MixBoostEvtVtxGenerator::Beta ( double  m = 0)
inline

◆ BetaFunction()

double MixBoostEvtVtxGenerator::BetaFunction ( double  z,
double  z0 
)

◆ betastar()

void MixBoostEvtVtxGenerator::betastar ( double  m = 0)
inline

◆ emittance()

void MixBoostEvtVtxGenerator::emittance ( double  m = 0)
inline

◆ GetInvLorentzBoost()

TMatrixD * MixBoostEvtVtxGenerator::GetInvLorentzBoost ( )
virtual

Definition at line 153 of file MixBoostEvtVtxGenerator.cc.

References alpha_, beta_, boost_, funct::cos(), phi_, funct::sin(), mathSSE::sqrt(), and funct::tan().

Referenced by produce().

153  {
154  //alpha_ = 0;
155  //phi_ = 142.e-6;
156  // if (boost_ != 0 ) return boost_;
157 
158  //boost_.ResizeTo(4,4);
159  //boost_ = new TMatrixD(4,4);
160  TMatrixD tmpboost(4, 4);
161  TMatrixD tmpboostZ(4, 4);
162  TMatrixD tmpboostXYZ(4, 4);
163 
164  //if ( (alpha_ == 0) && (phi_==0) ) { boost_->Zero(); return boost_; }
165 
166  // Lorentz boost to frame where the collision is head-on
167  // phi is the half crossing angle in the plane ZS
168  // alpha is the angle to the S axis from the X axis in the XY plane
169 
170  tmpboost(0, 0) = 1. / cos(phi_);
171  tmpboost(0, 1) = -cos(alpha_) * sin(phi_);
172  tmpboost(0, 2) = -tan(phi_) * sin(phi_);
173  tmpboost(0, 3) = -sin(alpha_) * sin(phi_);
174  tmpboost(1, 0) = -cos(alpha_) * tan(phi_);
175  tmpboost(1, 1) = 1.;
176  tmpboost(1, 2) = cos(alpha_) * tan(phi_);
177  tmpboost(1, 3) = 0.;
178  tmpboost(2, 0) = 0.;
179  tmpboost(2, 1) = -cos(alpha_) * sin(phi_);
180  tmpboost(2, 2) = cos(phi_);
181  tmpboost(2, 3) = -sin(alpha_) * sin(phi_);
182  tmpboost(3, 0) = -sin(alpha_) * tan(phi_);
183  tmpboost(3, 1) = 0.;
184  tmpboost(3, 2) = sin(alpha_) * tan(phi_);
185  tmpboost(3, 3) = 1.;
186  //cout<<"beta "<<beta_;
187  double gama = 1.0 / sqrt(1 - beta_ * beta_);
188  tmpboostZ(0, 0) = gama;
189  tmpboostZ(0, 1) = 0.;
190  tmpboostZ(0, 2) = -1.0 * beta_ * gama;
191  tmpboostZ(0, 3) = 0.;
192  tmpboostZ(1, 0) = 0.;
193  tmpboostZ(1, 1) = 1.;
194  tmpboostZ(1, 2) = 0.;
195  tmpboostZ(1, 3) = 0.;
196  tmpboostZ(2, 0) = -1.0 * beta_ * gama;
197  tmpboostZ(2, 1) = 0.;
198  tmpboostZ(2, 2) = gama;
199  tmpboostZ(2, 3) = 0.;
200  tmpboostZ(3, 0) = 0.;
201  tmpboostZ(3, 1) = 0.;
202  tmpboostZ(3, 2) = 0.;
203  tmpboostZ(3, 3) = 1.;
204 
205  tmpboostXYZ = tmpboostZ * tmpboost;
206  tmpboostXYZ.Invert();
207 
208  //cout<<"Boosting with beta : "<<beta_<<endl;
209 
210  boost_ = new TMatrixD(tmpboostXYZ);
211  boost_->Print();
212 
213  return boost_;
214 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
T sqrt(T t)
Definition: SSEVec.h:19
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22

◆ getRecVertex()

HepMC::FourVector * MixBoostEvtVtxGenerator::getRecVertex ( edm::Event evt)
virtual

Definition at line 257 of file MixBoostEvtVtxGenerator.cc.

References fVertex, edm::Event::getHandle(), input, vtxLabel, and vtxOffset.

Referenced by produce().

257  {
259 
260  double aX, aY, aZ;
261 
262  aX = input->begin()->position().x() + vtxOffset[0];
263  aY = input->begin()->position().y() + vtxOffset[1];
264  aZ = input->begin()->position().z() + vtxOffset[2];
265 
266  if (!fVertex)
267  fVertex = new HepMC::FourVector();
268  fVertex->set(10.0 * aX, 10.0 * aY, 10.0 * aZ, 0.0); // HepMC positions in mm (RECO in cm)
269 
270  return fVertex;
271 }
std::vector< double > vtxOffset
static std::string const input
Definition: EdmProvDump.cc:50
const edm::EDGetTokenT< reco::VertexCollection > vtxLabel
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Definition: Event.h:552

◆ getVertex()

HepMC::FourVector * MixBoostEvtVtxGenerator::getVertex ( edm::Event evt)
virtual

Definition at line 216 of file MixBoostEvtVtxGenerator.cc.

References gather_cfg::cout, Exception, fVertex, edm::Event::getHandle(), GeneratorMix_cff::mix, mixLabel, edm::Handle< T >::product(), and DiDispStaMuonMonitor_cfi::pt.

Referenced by produce().

216  {
217  const HepMC::GenEvent* inev = nullptr;
218 
221 
222  const HepMCProduct& bkg = mix.getObject(1);
223  if (!(bkg.isVtxGenApplied())) {
224  throw cms::Exception("MatchVtx") << "Input background does not have smeared vertex!" << endl;
225  } else {
226  inev = bkg.GetEvent();
227  }
228 
229  HepMC::GenVertex* genvtx = inev->signal_process_vertex();
230  if (!genvtx) {
231  cout << "No Signal Process Vertex!" << endl;
232  HepMC::GenEvent::particle_const_iterator pt = inev->particles_begin();
233  HepMC::GenEvent::particle_const_iterator ptend = inev->particles_end();
234  while (!genvtx || (genvtx->particles_in_size() == 1 && pt != ptend)) {
235  if (!genvtx)
236  cout << "No Gen Vertex!" << endl;
237  if (pt == ptend)
238  cout << "End reached!" << endl;
239  genvtx = (*pt)->production_vertex();
240  ++pt;
241  }
242  }
243  double aX, aY, aZ, aT;
244 
245  aX = genvtx->position().x();
246  aY = genvtx->position().y();
247  aZ = genvtx->position().z();
248  aT = genvtx->position().t();
249 
250  if (!fVertex)
251  fVertex = new HepMC::FourVector();
252  fVertex->set(aX, aY, aZ, aT);
253 
254  return fVertex;
255 }
const edm::EDGetTokenT< CrossingFrame< HepMCProduct > > mixLabel
T const * product() const
Definition: Handle.h:70
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Definition: Event.h:552

◆ operator=()

MixBoostEvtVtxGenerator& MixBoostEvtVtxGenerator::operator= ( const MixBoostEvtVtxGenerator rhs)
delete

Copy assignment operator

◆ Phi()

void MixBoostEvtVtxGenerator::Phi ( double  m = 0)
inline

◆ produce()

void MixBoostEvtVtxGenerator::produce ( edm::Event evt,
const edm::EventSetup  
)
overridevirtual

return a new event vertex

Implements edm::one::EDProducerBase.

Definition at line 273 of file MixBoostEvtVtxGenerator.cc.

References edm::HepMCProduct::GetEvent(), edm::Event::getHandle(), GetInvLorentzBoost(), getRecVertex(), getVertex(), eostools::move(), edm::Event::put(), signalLabel, and useRecVertex.

273  {
274  const edm::Handle<HepMCProduct>& HepUnsmearedMCEvt = evt.getHandle(signalLabel);
275 
276  // Copy the HepMC::GenEvent
277  HepMC::GenEvent* genevt = new HepMC::GenEvent(*HepUnsmearedMCEvt->GetEvent());
278  std::unique_ptr<edm::HepMCProduct> HepMCEvt(new edm::HepMCProduct(genevt));
279  // generate new vertex & apply the shift
280  //
281 
282  HepMCEvt->boostToLab(GetInvLorentzBoost(), "vertex");
283  HepMCEvt->boostToLab(GetInvLorentzBoost(), "momentum");
284 
285  HepMCEvt->applyVtxGen(useRecVertex ? getRecVertex(evt) : getVertex(evt));
286 
287  evt.put(std::move(HepMCEvt));
288  return;
289 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
const edm::EDGetTokenT< HepMCProduct > signalLabel
virtual TMatrixD * GetInvLorentzBoost()
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Definition: Event.h:552
virtual HepMC::FourVector * getRecVertex(edm::Event &)
virtual HepMC::FourVector * getVertex(edm::Event &)
def move(src, dest)
Definition: eostools.py:511

◆ sigmaZ()

void MixBoostEvtVtxGenerator::sigmaZ ( double  s = 1.0)

set resolution in Z in cm

Definition at line 144 of file MixBoostEvtVtxGenerator.cc.

References Exception, fSigmaZ, and alignCSCRings::s.

144  {
145  if (s >= 0) {
146  fSigmaZ = s;
147  } else {
148  throw cms::Exception("LogicError") << "Error in MixBoostEvtVtxGenerator::sigmaZ: "
149  << "Illegal resolution in Z (negative)";
150  }
151 }

◆ X0()

void MixBoostEvtVtxGenerator::X0 ( double  m = 0)
inline

◆ Y0()

void MixBoostEvtVtxGenerator::Y0 ( double  m = 0)
inline

◆ Z0()

void MixBoostEvtVtxGenerator::Z0 ( double  m = 0)
inline

Member Data Documentation

◆ alpha_

double MixBoostEvtVtxGenerator::alpha_
private

Definition at line 90 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and MixBoostEvtVtxGenerator().

◆ beta_

double MixBoostEvtVtxGenerator::beta_
private

Definition at line 92 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and MixBoostEvtVtxGenerator().

◆ boost_

TMatrixD* MixBoostEvtVtxGenerator::boost_
private

Definition at line 100 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and ~MixBoostEvtVtxGenerator().

◆ falpha

double MixBoostEvtVtxGenerator::falpha
private

Definition at line 97 of file MixBoostEvtVtxGenerator.cc.

◆ fbetastar

double MixBoostEvtVtxGenerator::fbetastar
private

Definition at line 96 of file MixBoostEvtVtxGenerator.cc.

Referenced by BetaFunction().

◆ femittance

double MixBoostEvtVtxGenerator::femittance
private

Definition at line 96 of file MixBoostEvtVtxGenerator.cc.

Referenced by BetaFunction().

◆ fSigmaZ

double MixBoostEvtVtxGenerator::fSigmaZ
private

Definition at line 94 of file MixBoostEvtVtxGenerator.cc.

Referenced by sigmaZ().

◆ fTimeOffset

double MixBoostEvtVtxGenerator::fTimeOffset
private

Definition at line 101 of file MixBoostEvtVtxGenerator.cc.

◆ fVertex

HepMC::FourVector* MixBoostEvtVtxGenerator::fVertex
private

Definition at line 99 of file MixBoostEvtVtxGenerator.cc.

Referenced by getRecVertex(), getVertex(), and ~MixBoostEvtVtxGenerator().

◆ fX0

double MixBoostEvtVtxGenerator::fX0
private

Definition at line 93 of file MixBoostEvtVtxGenerator.cc.

◆ fY0

double MixBoostEvtVtxGenerator::fY0
private

Definition at line 93 of file MixBoostEvtVtxGenerator.cc.

◆ fZ0

double MixBoostEvtVtxGenerator::fZ0
private

Definition at line 93 of file MixBoostEvtVtxGenerator.cc.

◆ mixLabel

const edm::EDGetTokenT<CrossingFrame<HepMCProduct> > MixBoostEvtVtxGenerator::mixLabel
private

Definition at line 105 of file MixBoostEvtVtxGenerator.cc.

Referenced by getVertex().

◆ phi_

double MixBoostEvtVtxGenerator::phi_
private

Definition at line 90 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and MixBoostEvtVtxGenerator().

◆ signalLabel

const edm::EDGetTokenT<HepMCProduct> MixBoostEvtVtxGenerator::signalLabel
private

Definition at line 104 of file MixBoostEvtVtxGenerator.cc.

Referenced by produce().

◆ useRecVertex

const bool MixBoostEvtVtxGenerator::useRecVertex
private

Definition at line 106 of file MixBoostEvtVtxGenerator.cc.

Referenced by produce().

◆ vtxLabel

const edm::EDGetTokenT<reco::VertexCollection> MixBoostEvtVtxGenerator::vtxLabel
private

Definition at line 103 of file MixBoostEvtVtxGenerator.cc.

Referenced by getRecVertex().

◆ vtxOffset

std::vector<double> MixBoostEvtVtxGenerator::vtxOffset
private

Definition at line 107 of file MixBoostEvtVtxGenerator.cc.

Referenced by getRecVertex(), and MixBoostEvtVtxGenerator().