CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
MixBoostEvtVtxGenerator Class Reference
Inheritance diagram for MixBoostEvtVtxGenerator:
edm::EDProducer 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)
 
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::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > 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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

 MixBoostEvtVtxGenerator (const MixBoostEvtVtxGenerator &p)=delete
 
MixBoostEvtVtxGeneratoroperator= (const MixBoostEvtVtxGenerator &rhs)=delete
 

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
 
edm::EDGetTokenT< CrossingFrame< HepMCProduct > > mixLabel
 
double phi_
 
edm::EDGetTokenT< HepMCProductsignalLabel
 
bool useRecVertex
 
edm::EDGetTokenT< reco::VertexCollectionvtxLabel
 
std::vector< double > vtxOffset
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
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::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
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)
 
template<Transition B>
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 (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

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 111 of file MixBoostEvtVtxGenerator.cc.

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

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

◆ ~MixBoostEvtVtxGenerator()

MixBoostEvtVtxGenerator::~MixBoostEvtVtxGenerator ( )
override

Definition at line 134 of file MixBoostEvtVtxGenerator.cc.

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

References boost_, and fVertex.

◆ MixBoostEvtVtxGenerator() [2/2]

MixBoostEvtVtxGenerator::MixBoostEvtVtxGenerator ( const MixBoostEvtVtxGenerator p)
privatedelete

Copy constructor

Member Function Documentation

◆ Alpha()

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

angle between crossing plane and horizontal plane

Definition at line 74 of file MixBoostEvtVtxGenerator.cc.

74 { alpha_ = m; }

References visualization-live-secondInstance_cfg::m.

◆ Beta()

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

Definition at line 75 of file MixBoostEvtVtxGenerator.cc.

75 { beta_ = m; }

References visualization-live-secondInstance_cfg::m.

◆ BetaFunction()

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

beta function

Definition at line 141 of file MixBoostEvtVtxGenerator.cc.

141  {
142  return sqrt(femittance * (fbetastar + (((z - z0) * (z - z0)) / fbetastar)));
143 }

References fbetastar, femittance, mathSSE::sqrt(), z, and HLTMuonOfflineAnalyzer_cfi::z0.

◆ betastar()

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

set beta_star

Definition at line 78 of file MixBoostEvtVtxGenerator.cc.

78 { fbetastar = m; }

References visualization-live-secondInstance_cfg::m.

◆ emittance()

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

emittance (no the normalized)

Definition at line 80 of file MixBoostEvtVtxGenerator.cc.

80 { femittance = m; }

References visualization-live-secondInstance_cfg::m.

◆ GetInvLorentzBoost()

TMatrixD * MixBoostEvtVtxGenerator::GetInvLorentzBoost ( )
virtual

Definition at line 154 of file MixBoostEvtVtxGenerator.cc.

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

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

Referenced by produce().

◆ getRecVertex()

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

Definition at line 259 of file MixBoostEvtVtxGenerator.cc.

259  {
261  evt.getByToken(vtxLabel, input);
262 
263  double aX, aY, aZ;
264 
265  aX = input->begin()->position().x() + vtxOffset[0];
266  aY = input->begin()->position().y() + vtxOffset[1];
267  aZ = input->begin()->position().z() + vtxOffset[2];
268 
269  if (!fVertex)
270  fVertex = new HepMC::FourVector();
271  fVertex->set(10.0 * aX, 10.0 * aY, 10.0 * aZ, 0.0); // HepMC positions in mm (RECO in cm)
272 
273  return fVertex;
274 }

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

Referenced by produce().

◆ getVertex()

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

Definition at line 217 of file MixBoostEvtVtxGenerator.cc.

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

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

Referenced by produce().

◆ operator=()

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

Copy assignment operator

◆ Phi()

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

set half crossing angle

Definition at line 72 of file MixBoostEvtVtxGenerator.cc.

72 { phi_ = m; }

References visualization-live-secondInstance_cfg::m.

◆ produce()

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

return a new event vertex

Implements edm::EDProducer.

Definition at line 276 of file MixBoostEvtVtxGenerator.cc.

276  {
277  Handle<HepMCProduct> HepUnsmearedMCEvt;
278  evt.getByToken(signalLabel, HepUnsmearedMCEvt);
279 
280  // Copy the HepMC::GenEvent
281  HepMC::GenEvent* genevt = new HepMC::GenEvent(*HepUnsmearedMCEvt->GetEvent());
282  std::unique_ptr<edm::HepMCProduct> HepMCEvt(new edm::HepMCProduct(genevt));
283  // generate new vertex & apply the shift
284  //
285 
286  HepMCEvt->boostToLab(GetInvLorentzBoost(), "vertex");
287  HepMCEvt->boostToLab(GetInvLorentzBoost(), "momentum");
288 
289  HepMCEvt->applyVtxGen(useRecVertex ? getRecVertex(evt) : getVertex(evt));
290 
291  evt.put(std::move(HepMCEvt));
292  return;
293 }

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

◆ sigmaZ()

void MixBoostEvtVtxGenerator::sigmaZ ( double  s = 1.0)

set resolution in Z in cm

Definition at line 145 of file MixBoostEvtVtxGenerator.cc.

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

References Exception, fSigmaZ, and alignCSCRings::s.

◆ X0()

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

set mean in X in cm

Definition at line 65 of file MixBoostEvtVtxGenerator.cc.

65 { fX0 = m; }

References visualization-live-secondInstance_cfg::m.

◆ Y0()

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

set mean in Y in cm

Definition at line 67 of file MixBoostEvtVtxGenerator.cc.

67 { fY0 = m; }

References visualization-live-secondInstance_cfg::m.

◆ Z0()

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

set mean in Z in cm

Definition at line 69 of file MixBoostEvtVtxGenerator.cc.

69 { fZ0 = m; }

References visualization-live-secondInstance_cfg::m.

Member Data Documentation

◆ alpha_

double MixBoostEvtVtxGenerator::alpha_
private

Definition at line 91 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and MixBoostEvtVtxGenerator().

◆ beta_

double MixBoostEvtVtxGenerator::beta_
private

Definition at line 93 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and MixBoostEvtVtxGenerator().

◆ boost_

TMatrixD* MixBoostEvtVtxGenerator::boost_
private

Definition at line 101 of file MixBoostEvtVtxGenerator.cc.

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

◆ falpha

double MixBoostEvtVtxGenerator::falpha
private

Definition at line 98 of file MixBoostEvtVtxGenerator.cc.

◆ fbetastar

double MixBoostEvtVtxGenerator::fbetastar
private

Definition at line 97 of file MixBoostEvtVtxGenerator.cc.

Referenced by BetaFunction().

◆ femittance

double MixBoostEvtVtxGenerator::femittance
private

Definition at line 97 of file MixBoostEvtVtxGenerator.cc.

Referenced by BetaFunction().

◆ fSigmaZ

double MixBoostEvtVtxGenerator::fSigmaZ
private

Definition at line 95 of file MixBoostEvtVtxGenerator.cc.

Referenced by sigmaZ().

◆ fTimeOffset

double MixBoostEvtVtxGenerator::fTimeOffset
private

Definition at line 102 of file MixBoostEvtVtxGenerator.cc.

◆ fVertex

HepMC::FourVector* MixBoostEvtVtxGenerator::fVertex
private

Definition at line 100 of file MixBoostEvtVtxGenerator.cc.

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

◆ fX0

double MixBoostEvtVtxGenerator::fX0
private

Definition at line 94 of file MixBoostEvtVtxGenerator.cc.

◆ fY0

double MixBoostEvtVtxGenerator::fY0
private

Definition at line 94 of file MixBoostEvtVtxGenerator.cc.

◆ fZ0

double MixBoostEvtVtxGenerator::fZ0
private

Definition at line 94 of file MixBoostEvtVtxGenerator.cc.

◆ mixLabel

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

Definition at line 106 of file MixBoostEvtVtxGenerator.cc.

Referenced by getVertex().

◆ phi_

double MixBoostEvtVtxGenerator::phi_
private

Definition at line 91 of file MixBoostEvtVtxGenerator.cc.

Referenced by GetInvLorentzBoost(), and MixBoostEvtVtxGenerator().

◆ signalLabel

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

Definition at line 105 of file MixBoostEvtVtxGenerator.cc.

Referenced by produce().

◆ useRecVertex

bool MixBoostEvtVtxGenerator::useRecVertex
private

Definition at line 107 of file MixBoostEvtVtxGenerator.cc.

Referenced by produce().

◆ vtxLabel

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

Definition at line 104 of file MixBoostEvtVtxGenerator.cc.

Referenced by getRecVertex().

◆ vtxOffset

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

Definition at line 108 of file MixBoostEvtVtxGenerator.cc.

Referenced by getRecVertex(), and MixBoostEvtVtxGenerator().

MixBoostEvtVtxGenerator::signalLabel
edm::EDGetTokenT< HepMCProduct > signalLabel
Definition: MixBoostEvtVtxGenerator.cc:105
input
static const std::string input
Definition: EdmProvDump.cc:48
edm::Handle::product
T const * product() const
Definition: Handle.h:70
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
gather_cfg.cout
cout
Definition: gather_cfg.py:144
edm::Handle< reco::VertexCollection >
MixBoostEvtVtxGenerator::alpha_
double alpha_
Definition: MixBoostEvtVtxGenerator.cc:91
MixBoostEvtVtxGenerator::femittance
double femittance
Definition: MixBoostEvtVtxGenerator.cc:97
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
MixBoostEvtVtxGenerator::vtxOffset
std::vector< double > vtxOffset
Definition: MixBoostEvtVtxGenerator.cc:108
MixBoostEvtVtxGenerator::mixLabel
edm::EDGetTokenT< CrossingFrame< HepMCProduct > > mixLabel
Definition: MixBoostEvtVtxGenerator.cc:106
CrossingFrame
Definition: CrossingFrame.h:37
alignCSCRings.s
s
Definition: alignCSCRings.py:92
MixBoostEvtVtxGenerator::phi_
double phi_
Definition: MixBoostEvtVtxGenerator.cc:91
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
MixCollection
Definition: MixCollection.h:10
MixBoostEvtVtxGenerator::fbetastar
double fbetastar
Definition: MixBoostEvtVtxGenerator.cc:97
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DDAxes::z
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:535
HLTMuonOfflineAnalyzer_cfi.z0
z0
Definition: HLTMuonOfflineAnalyzer_cfi.py:98
MixBoostEvtVtxGenerator::useRecVertex
bool useRecVertex
Definition: MixBoostEvtVtxGenerator.cc:107
MixBoostEvtVtxGenerator::fX0
double fX0
Definition: MixBoostEvtVtxGenerator.cc:94
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
MixBoostEvtVtxGenerator::beta_
double beta_
Definition: MixBoostEvtVtxGenerator.cc:93
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
edm::HepMCProduct::GetEvent
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
MixBoostEvtVtxGenerator::GetInvLorentzBoost
virtual TMatrixD * GetInvLorentzBoost()
Definition: MixBoostEvtVtxGenerator.cc:154
MixBoostEvtVtxGenerator::getVertex
virtual HepMC::FourVector * getVertex(edm::Event &)
Definition: MixBoostEvtVtxGenerator.cc:217
MixBoostEvtVtxGenerator::getRecVertex
virtual HepMC::FourVector * getRecVertex(edm::Event &)
Definition: MixBoostEvtVtxGenerator.cc:259
MixBoostEvtVtxGenerator::vtxLabel
edm::EDGetTokenT< reco::VertexCollection > vtxLabel
Definition: MixBoostEvtVtxGenerator.cc:104
MixBoostEvtVtxGenerator::boost_
TMatrixD * boost_
Definition: MixBoostEvtVtxGenerator.cc:101
eostools.move
def move(src, dest)
Definition: eostools.py:511
MixBoostEvtVtxGenerator::fTimeOffset
double fTimeOffset
Definition: MixBoostEvtVtxGenerator.cc:102
MixBoostEvtVtxGenerator::fZ0
double fZ0
Definition: MixBoostEvtVtxGenerator.cc:94
Exception
Definition: hltDiff.cc:245
MixBoostEvtVtxGenerator::fSigmaZ
double fSigmaZ
Definition: MixBoostEvtVtxGenerator.cc:95
edm::HepMCProduct
Definition: HepMCProduct.h:21
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:155
GeneratorMix_cff.mix
mix
Definition: GeneratorMix_cff.py:6
MixBoostEvtVtxGenerator::fVertex
HepMC::FourVector * fVertex
Definition: MixBoostEvtVtxGenerator.cc:100
edm::InputTag
Definition: InputTag.h:15
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
MixBoostEvtVtxGenerator::fY0
double fY0
Definition: MixBoostEvtVtxGenerator.cc:94