CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions
FWSimTrackProxyBuilder Class Reference
Inheritance diagram for FWSimTrackProxyBuilder:
FWProxyBuilderBase

Public Member Functions

 FWSimTrackProxyBuilder (void)
 
const std::string & purpose () const
 
const std::string & typeName () const
 
const std::string & view () const
 
 ~FWSimTrackProxyBuilder (void) override
 
- Public Member Functions inherited from FWProxyBuilderBase
void build ()
 
virtual bool canHandle (const FWEventItem &)
 
const fireworks::Contextcontext () const
 
TEveElementList * createProduct (FWViewType::EType, const FWViewContext *)
 
 FWProxyBuilderBase ()
 
bool getHaveWindow () const
 
virtual bool havePerViewProduct (FWViewType::EType) const
 
virtual bool haveSingleProduct () const
 
const FWEventItemitem () const
 
virtual void itemBeingDestroyed (const FWEventItem *)
 
void itemChanged (const FWEventItem *)
 
int layer () const
 
void modelChanges (const FWModelIds &)
 
void removePerViewProduct (FWViewType::EType, const FWViewContext *vc)
 
void scaleChanged (const FWViewContext *)
 
void setHaveWindow (bool iFlag)
 
virtual void setInteractionList (FWInteractionList *, const std::string &)
 
virtual void setItem (const FWEventItem *iItem)
 
void setupAddElement (TEveElement *el, TEveElement *parent, bool set_color=true) const
 
void setupElement (TEveElement *el, bool color=true) const
 
virtual bool willHandleInteraction () const
 
virtual ~FWProxyBuilderBase ()
 

Static Public Member Functions

static const std::string & classPurpose ()
 
static const std::string & classRegisterTypeName ()
 
static const std::string & classTypeName ()
 
static const std::string & classView ()
 
- Static Public Member Functions inherited from FWProxyBuilderBase
static bool representsSubPart ()
 
static std::string typeOfBuilder ()
 Used by the plugin system to determine how the proxy uses the data from FWEventItem. More...
 

Private Member Functions

void addParticlesToPdgDataBase (void)
 
void build ()
 
virtual void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *)
 
void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *) override
 
 FWSimTrackProxyBuilder (const FWSimTrackProxyBuilder &)=delete
 
const FWSimTrackProxyBuilderoperator= (const FWSimTrackProxyBuilder &)=delete
 

Additional Inherited Members

- Protected Types inherited from FWProxyBuilderBase
typedef std::vector< Product * >::iterator Product_it
 
- Protected Member Functions inherited from FWProxyBuilderBase
virtual void buildViewType (const FWEventItem *iItem, TEveElementList *, FWViewType::EType, const FWViewContext *)
 
virtual void clean ()
 
virtual void cleanLocal ()
 
TEveCompound * createCompound (bool set_color=true, bool propagate_color_to_all_children=false) const
 
 FWProxyBuilderBase (const FWProxyBuilderBase &)
 
void increaseComponentTransparency (unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)
 
virtual void localModelChanges (const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc)
 
virtual void modelChanges (const FWModelIds &, Product *)
 
const FWProxyBuilderBaseoperator= (const FWProxyBuilderBase &)
 
virtual void scaleProduct (TEveElementList *parent, FWViewType::EType, const FWViewContext *vc)
 
virtual bool visibilityModelChanges (const FWModelId &, TEveElement *, FWViewType::EType, const FWViewContext *)
 
- Protected Attributes inherited from FWProxyBuilderBase
std::vector< Product * > m_products
 

Detailed Description

Definition at line 23 of file FWSimTrackProxyBuilder.cc.

Constructor & Destructor Documentation

◆ FWSimTrackProxyBuilder() [1/2]

FWSimTrackProxyBuilder::FWSimTrackProxyBuilder ( void  )
inline

Definition at line 25 of file FWSimTrackProxyBuilder.cc.

25 {}

◆ ~FWSimTrackProxyBuilder()

FWSimTrackProxyBuilder::~FWSimTrackProxyBuilder ( void  )
inlineoverride

Definition at line 26 of file FWSimTrackProxyBuilder.cc.

26 {}

◆ FWSimTrackProxyBuilder() [2/2]

FWSimTrackProxyBuilder::FWSimTrackProxyBuilder ( const FWSimTrackProxyBuilder )
privatedelete

Member Function Documentation

◆ addParticlesToPdgDataBase()

void FWSimTrackProxyBuilder::addParticlesToPdgDataBase ( void  )
private

Definition at line 42 of file FWSimTrackProxyBuilder.cc.

42  {
43  static Bool_t bAdded = kFALSE;
44  // Check if already called
45  if (bAdded)
46  return;
47  bAdded = true;
48 
49  TDatabasePDG* pdgDB = TDatabasePDG::Instance();
50  const Int_t kspe = 50000000;
51 
52  // PDG nuclear states are 10-digit numbers
53  // 10LZZZAAAI e.g. deuteron is
54  // 1000010020
55  const Int_t kion = 1000000000;
56 
57  /*
58  const Double_t kAu2Gev=0.9314943228;
59  */
60 
61  const Double_t khSlash = 1.0545726663e-27;
62  const Double_t kErg2Gev = 1 / 1.6021773349e-3;
63  const Double_t khShGev = khSlash * kErg2Gev;
64  const Double_t kYear2Sec = 3600 * 24 * 365.25;
65 
66  //
67  // Bottom mesons
68  // mass and life-time from PDG
69  //
70  pdgDB->AddParticle("Upsilon(3S)", "Upsilon(3S)", 10.3552, kTRUE, 0, 1, "Bottonium", 200553);
71 
72  // QCD diffractive states
73  pdgDB->AddParticle("rho_diff0", "rho_diff0", 0, kTRUE, 0, 0, "QCD diffr. state", 9900110);
74  pdgDB->AddParticle("pi_diffr+", "pi_diffr+", 0, kTRUE, 0, 1, "QCD diffr. state", 9900210);
75  pdgDB->AddParticle("omega_di", "omega_di", 0, kTRUE, 0, 0, "QCD diffr. state", 9900220);
76  pdgDB->AddParticle("phi_diff", "phi_diff", 0, kTRUE, 0, 0, "QCD diffr. state", 9900330);
77  pdgDB->AddParticle("J/psi_di", "J/psi_di", 0, kTRUE, 0, 0, "QCD diffr. state", 9900440);
78  pdgDB->AddParticle("n_diffr0", "n_diffr0", 0, kTRUE, 0, 0, "QCD diffr. state", 9902110);
79  pdgDB->AddParticle("p_diffr+", "p_diffr+", 0, kTRUE, 0, 1, "QCD diffr. state", 9902210);
80 
81  // From Herwig
82  pdgDB->AddParticle("PSID ", " ", 3.7699, kFALSE, 0.0, 0, "meson", 30443);
83 
84  pdgDB->AddParticle("A_00 ", " ", 0.9960, kFALSE, 0.0, 0, "meson", 9000111);
85  pdgDB->AddParticle("A_0+ ", " ", 0.9960, kFALSE, 0.0, +3, "meson", 9000211);
86  pdgDB->AddParticle("A_0- ", " ", 0.9960, kFALSE, 0.0, -3, "meson", -9000211);
87 
88  pdgDB->AddParticle("F0P0 ", " ", 0.9960, kFALSE, 0.0, 0, "meson", 9010221);
89 
90  pdgDB->AddParticle("KDL_2+ ", " ", 1.773, kFALSE, 0.0, +3, "meson", 10325);
91  pdgDB->AddParticle("KDL_2- ", " ", 1.773, kFALSE, 0.0, -3, "meson", -10325);
92 
93  pdgDB->AddParticle("KDL_20 ", " ", 1.773, kFALSE, 0.0, 0, "meson", 10315);
94  pdgDB->AddParticle("KDL_2BR0", " ", 1.773, kFALSE, 0.0, 0, "meson", -10315);
95 
96  pdgDB->AddParticle("PI_2+ ", " ", 1.670, kFALSE, 0.0, +3, "meson", 10215);
97  pdgDB->AddParticle("PI_2- ", " ", 1.670, kFALSE, 0.0, -3, "meson", -10215);
98  pdgDB->AddParticle("PI_20 ", " ", 1.670, kFALSE, 0.0, 0, "meson", 10115);
99 
100  pdgDB->AddParticle("KD*+ ", " ", 1.717, kFALSE, 0.0, +3, "meson", 30323);
101  pdgDB->AddParticle("KD*- ", " ", 1.717, kFALSE, 0.0, -3, "meson", -30323);
102 
103  pdgDB->AddParticle("KD*0 ", " ", 1.717, kFALSE, 0.0, 0, "meson", 30313);
104  pdgDB->AddParticle("KDBR*0 ", " ", 1.717, kFALSE, 0.0, 0, "meson", -30313);
105 
106  pdgDB->AddParticle("RHOD+ ", " ", 1.700, kFALSE, 0.0, +3, "meson", 30213);
107  pdgDB->AddParticle("RHOD- ", " ", 1.700, kFALSE, 0.0, -3, "meson", -30213);
108  pdgDB->AddParticle("RHOD0 ", " ", 1.700, kFALSE, 0.0, 0, "meson", 30113);
109 
110  pdgDB->AddParticle("ETA_2(L)", " ", 1.632, kFALSE, 0.0, 0, "meson", 10225);
111  pdgDB->AddParticle("ETA_2(H)", " ", 1.854, kFALSE, 0.0, 0, "meson", 10335);
112  pdgDB->AddParticle("OMEGA(H)", " ", 1.649, kFALSE, 0.0, 0, "meson", 30223);
113 
114  pdgDB->AddParticle("KDH_2+ ", " ", 1.816, kFALSE, 0.0, +3, "meson", 20325);
115  pdgDB->AddParticle("KDH_2- ", " ", 1.816, kFALSE, 0.0, -3, "meson", -20325);
116 
117  pdgDB->AddParticle("KDH_20 ", " ", 1.816, kFALSE, 0.0, 0, "meson", 20315);
118  pdgDB->AddParticle("KDH_2BR0", " ", 1.816, kFALSE, 0.0, 0, "meson", -20315);
119 
120  pdgDB->AddParticle("KD_3+ ", " ", 1.773, kFALSE, 0.0, +3, "meson", 327);
121  pdgDB->AddParticle("KD_3- ", " ", 1.773, kFALSE, 0.0, -3, "meson", -327);
122 
123  pdgDB->AddParticle("KD_30 ", " ", 1.773, kFALSE, 0.0, 0, "meson", 317);
124  pdgDB->AddParticle("KD_3BR0 ", " ", 1.773, kFALSE, 0.0, 0, "meson", -317);
125 
126  pdgDB->AddParticle("RHO_3+ ", " ", 1.691, kFALSE, 0.0, +3, "meson", 217);
127  pdgDB->AddParticle("RHO_3- ", " ", 1.691, kFALSE, 0.0, -3, "meson", -217);
128  pdgDB->AddParticle("RHO_30 ", " ", 1.691, kFALSE, 0.0, 0, "meson", 117);
129  pdgDB->AddParticle("OMEGA_3 ", " ", 1.667, kFALSE, 0.0, 0, "meson", 227);
130  pdgDB->AddParticle("PHI_3 ", " ", 1.854, kFALSE, 0.0, 0, "meson", 337);
131 
132  pdgDB->AddParticle("CHI2P_B0", " ", 10.232, kFALSE, 0.0, 0, "meson", 110551);
133  pdgDB->AddParticle("CHI2P_B1", " ", 10.255, kFALSE, 0.0, 0, "meson", 120553);
134  pdgDB->AddParticle("CHI2P_B2", " ", 10.269, kFALSE, 0.0, 0, "meson", 100555);
135  pdgDB->AddParticle("UPSLON4S", " ", 10.580, kFALSE, 0.0, 0, "meson", 300553);
136 
137  // IONS
138  //
139  // Done by default now from Pythia6 table
140  // Needed for other generators
141  // So check if already defined
142 
143  Int_t ionCode = kion + 10020;
144  if (!pdgDB->GetParticle(ionCode)) {
145  pdgDB->AddParticle("Deuteron", "Deuteron", 1.875613, kTRUE, 0, 3, "Ion", ionCode);
146  }
147  pdgDB->AddAntiParticle("AntiDeuteron", -ionCode);
148 
149  ionCode = kion + 10030;
150  if (!pdgDB->GetParticle(ionCode)) {
151  pdgDB->AddParticle("Triton", "Triton", 2.80925, kFALSE, khShGev / (12.33 * kYear2Sec), 3, "Ion", ionCode);
152  }
153  pdgDB->AddAntiParticle("AntiTriton", -ionCode);
154 
155  ionCode = kion + 20030;
156  if (!pdgDB->GetParticle(ionCode)) {
157  pdgDB->AddParticle("HE3", "HE3", 2.80923, kFALSE, 0, 6, "Ion", ionCode);
158  }
159  pdgDB->AddAntiParticle("AntiHE3", -ionCode);
160 
161  ionCode = kion + 20040;
162  if (!pdgDB->GetParticle(ionCode)) {
163  pdgDB->AddParticle("Alpha", "Alpha", 3.727417, kTRUE, khShGev / (12.33 * kYear2Sec), 6, "Ion", ionCode);
164  }
165  pdgDB->AddAntiParticle("AntiAlpha", -ionCode);
166 
167  // Special particles
168  //
169  pdgDB->AddParticle("Cherenkov", "Cherenkov", 0, kFALSE, 0, 0, "Special", kspe + 50);
170  pdgDB->AddParticle("FeedbackPhoton", "FeedbackPhoton", 0, kFALSE, 0, 0, "Special", kspe + 51);
171  pdgDB->AddParticle("Lambda1520", "Lambda1520", 1.5195, kFALSE, 0.0156, 0, "Resonance", 3124);
172  pdgDB->AddAntiParticle("Lambda1520bar", -3124);
173 }

Referenced by build().

◆ build() [1/3]

void FWProxyBuilderBase::build
private

Definition at line 110 of file FWProxyBuilderBase.cc.

110  {
111  if (m_item) {
112  try {
113  size_t itemSize = m_item->size(); //cashed
114 
115  clean();
116  for (Product_it i = m_products.begin(); i != m_products.end(); ++i) {
117  //printf("build() %s \n", m_item->name().c_str());
118  TEveElementList* elms = (*i)->m_elements;
119  size_t oldSize = elms->NumChildren();
120 
121  if (haveSingleProduct()) {
122  build(m_item, elms, (*i)->m_viewContext);
123  } else {
124  buildViewType(m_item, elms, (*i)->m_viewType, (*i)->m_viewContext);
125  }
126 
127  // Project all children of current product.
128  // If product is not registered into any projection-manager,
129  // this does nothing.
130  TEveProjectable* pable = dynamic_cast<TEveProjectable*>(elms);
131  if (pable->HasProjecteds()) {
132  // loop projected holders
133  for (TEveProjectable::ProjList_i i = pable->BeginProjecteds(); i != pable->EndProjecteds(); ++i) {
134  TEveProjectionManager* pmgr = (*i)->GetManager();
135  Float_t oldDepth = pmgr->GetCurrentDepth();
136  pmgr->SetCurrentDepth(item()->layer());
137  size_t cnt = 0;
138 
139  TEveElement* projectedAsElement = (*i)->GetProjectedAsElement();
140  TEveElement::List_i parentIt = projectedAsElement->BeginChildren();
141  for (TEveElement::List_i prodIt = elms->BeginChildren(); prodIt != elms->EndChildren(); ++prodIt, ++cnt) {
142  // reused projected holder
143  if (cnt < oldSize) {
144  if ((*parentIt)->NumChildren()) {
145  // update projected (mislleading name)
146  for (TEveElement::List_i pci = (*parentIt)->BeginChildren(); pci != (*parentIt)->EndChildren(); pci++)
147  pmgr->ProjectChildrenRecurse(*parentIt);
148  } else {
149  // import projectable
150  pmgr->SubImportChildren(*prodIt, *parentIt);
151  }
152 
153  ++parentIt;
154  } else if (cnt < itemSize) {
155  // new product holder
156  pmgr->SubImportElements(*prodIt, projectedAsElement);
157  } else {
158  break;
159  }
160  }
161  pmgr->SetCurrentDepth(oldDepth);
162  }
163  }
164 
165  if (m_interactionList && itemSize > oldSize) {
166  TEveElement::List_i elIt = elms->BeginChildren();
167  for (size_t cnt = 0; cnt < itemSize; ++cnt, ++elIt) {
168  if (cnt >= oldSize)
169  m_interactionList->added(*elIt, cnt);
170  }
171  }
172  }
173  } catch (const std::runtime_error& iException) {
174  fwLog(fwlog::kError) << "Caught exception in build function for item " << m_item->name() << ":\n"
175  << iException.what() << std::endl;
176  exit(1);
177  }
178  }
179  m_mustBuild = false;
180 }

◆ build() [2/3]

void FWProxyBuilderBase::build
private

Definition at line 328 of file FWProxyBuilderBase.cc.

328  {
329  assert(
330  "virtual build(const FWEventItem*, TEveElementList*, const FWViewContext*) not implemented by inherited class");
331 }

◆ build() [3/3]

void FWSimTrackProxyBuilder::build ( const FWEventItem iItem,
TEveElementList *  product,
const FWViewContext  
)
overrideprivatevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 177 of file FWSimTrackProxyBuilder.cc.

177  {
178  const edm::SimTrackContainer* collection = nullptr;
179  iItem->get(collection);
180 
181  if (nullptr == collection) {
182  return;
183  }
185 
186  TEveTrackPropagator* propagator = context().getTrackPropagator();
187 
189  const edm::EventBase* event = item()->getEvent();
190  event->getByLabel(edm::InputTag("g4SimHits"), hitColl);
191 
192  int i = 0;
193  for (std::vector<SimTrack>::const_iterator it = collection->begin(), end = collection->end(); it != end; ++it) {
194  const SimTrack& iData = (*it);
195  double vx = 0.0;
196  double vy = 0.0;
197  double vz = 0.0;
198  double vt = 0.0;
199  if (!iData.noVertex() && (hitColl.isValid() && !hitColl->empty())) {
200  int vInd = iData.vertIndex();
201  vx = hitColl->at(vInd).position().x();
202  vy = hitColl->at(vInd).position().y();
203  vz = hitColl->at(vInd).position().z();
204  vt = hitColl->at(vInd).position().t();
205  }
206 
207  TParticle* particle = new TParticle;
208  particle->SetPdgCode(iData.type());
209  particle->SetMomentum(iData.momentum().px(), iData.momentum().py(), iData.momentum().pz(), iData.momentum().e());
210  particle->SetProductionVertex(vx, vy, vz, vt);
211 
212  TEveTrack* track = new TEveTrack(particle, ++i, propagator);
213  if (iData.charge() == 0) {
214  track->SetLineStyle(7);
215  }
216  track->AddPathMark(TEvePathMark(
217  TEvePathMark::kReference,
218  TEveVector(
219  iData.trackerSurfacePosition().x(), iData.trackerSurfacePosition().y(), iData.trackerSurfacePosition().z()),
220  TEveVector(iData.trackerSurfaceMomentum().px(),
221  iData.trackerSurfaceMomentum().py(),
222  iData.trackerSurfaceMomentum().pz())));
223  track->MakeTrack();
224  setupAddElement(track, product);
225  }
226 }

References addParticlesToPdgDataBase(), CoreSimTrack::charge(), universalConfigTemplate::collection, FWProxyBuilderBase::context(), mps_fire::end, FWEventItem::get(), edm::EventBase::getByLabel(), FWEventItem::getEvent(), fireworks::Context::getTrackPropagator(), mps_fire::i, edm::HandleBase::isValid(), FWProxyBuilderBase::item(), CoreSimTrack::momentum(), SimTrack::noVertex(), TrackCandidateProducer_cfi::propagator, FWProxyBuilderBase::setupAddElement(), HLT_FULL_cff::track, SimTrack::trackerSurfaceMomentum(), SimTrack::trackerSurfacePosition(), CoreSimTrack::type(), and SimTrack::vertIndex().

◆ classPurpose()

const std::string & FWSimTrackProxyBuilder::classPurpose ( )
static

Definition at line 231 of file FWSimTrackProxyBuilder.cc.

◆ classRegisterTypeName()

const std::string & FWSimTrackProxyBuilder::classRegisterTypeName ( )
static

Definition at line 231 of file FWSimTrackProxyBuilder.cc.

◆ classTypeName()

const std::string & FWSimTrackProxyBuilder::classTypeName ( )
static

Definition at line 231 of file FWSimTrackProxyBuilder.cc.

◆ classView()

const std::string & FWSimTrackProxyBuilder::classView ( )
static

Definition at line 231 of file FWSimTrackProxyBuilder.cc.

◆ operator=()

const FWSimTrackProxyBuilder& FWSimTrackProxyBuilder::operator= ( const FWSimTrackProxyBuilder )
privatedelete

◆ purpose()

const std::string& FWSimTrackProxyBuilder::purpose ( ) const
inline

Definition at line 28 of file FWSimTrackProxyBuilder.cc.

30 :
31  // Disable default copy constructor

◆ typeName()

const std::string& FWSimTrackProxyBuilder::typeName ( ) const
inline

Definition at line 28 of file FWSimTrackProxyBuilder.cc.

30 :
31  // Disable default copy constructor

◆ view()

const std::string& FWSimTrackProxyBuilder::view ( ) const
inline

Definition at line 28 of file FWSimTrackProxyBuilder.cc.

30 :
31  // Disable default copy constructor
CoreSimTrack::momentum
const math::XYZTLorentzVectorD & momentum() const
Definition: CoreSimTrack.h:19
fwLog
#define fwLog(_level_)
Definition: fwLog.h:45
mps_fire.i
i
Definition: mps_fire.py:428
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11779
edm::EventBase::getByLabel
bool getByLabel(InputTag const &, Handle< T > &) const
Definition: EventBase.h:92
FWProxyBuilderBase::m_item
const FWEventItem * m_item
Definition: FWProxyBuilderBase.h:145
FWEventItem::get
void get(const T *&oData) const
Definition: FWEventItem.h:78
SimTrack::trackerSurfaceMomentum
const math::XYZTLorentzVectorD & trackerSurfaceMomentum() const
Definition: SimTrack.h:39
cms::cuda::assert
assert(be >=bs)
CoreSimTrack::charge
float charge() const
charge
Definition: CoreSimTrack.cc:17
edm::Handle< edm::SimVertexContainer >
SimTrack::noVertex
bool noVertex() const
Definition: SimTrack.h:31
FWProxyBuilderBase::layer
int layer() const
Definition: FWProxyBuilderBase.cc:414
FWProxyBuilderBase::m_mustBuild
bool m_mustBuild
Definition: FWProxyBuilderBase.h:149
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
mps_fire.end
end
Definition: mps_fire.py:242
FWProxyBuilderBase::buildViewType
virtual void buildViewType(const FWEventItem *iItem, TEveElementList *, FWViewType::EType, const FWViewContext *)
Definition: FWProxyBuilderBase.cc:333
FWInteractionList::added
void added(TEveElement *, unsigned int)
Definition: FWInteractionList.cc:63
FWProxyBuilderBase::clean
virtual void clean()
Definition: FWProxyBuilderBase.cc:314
FWEventItem::getEvent
const edm::EventBase * getEvent() const
Definition: FWEventItem.h:131
SimTrack::trackerSurfacePosition
const math::XYZVectorD & trackerSurfacePosition() const
Definition: SimTrack.h:37
FWProxyBuilderBase::Product_it
std::vector< Product * >::iterator Product_it
Definition: FWProxyBuilderBase.h:133
FWProxyBuilderBase::setupAddElement
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Definition: FWProxyBuilderBase.cc:350
FWSimTrackProxyBuilder::addParticlesToPdgDataBase
void addParticlesToPdgDataBase(void)
Definition: FWSimTrackProxyBuilder.cc:42
universalConfigTemplate.collection
collection
Definition: universalConfigTemplate.py:81
FWProxyBuilderBase::m_interactionList
FWInteractionList * m_interactionList
Definition: FWProxyBuilderBase.h:143
CoreSimTrack::type
int type() const
particle type (HEP PDT convension)
Definition: CoreSimTrack.h:22
FWProxyBuilderBase::build
void build()
Definition: FWProxyBuilderBase.cc:110
FWProxyBuilderBase::item
const FWEventItem * item() const
Definition: FWProxyBuilderBase.h:64
edm::SimTrackContainer
std::vector< SimTrack > SimTrackContainer
Definition: SimTrackContainer.h:12
SimTrack
Definition: SimTrack.h:6
edm::EventBase
Definition: EventBase.h:46
fireworks::Context::getTrackPropagator
TEveTrackPropagator * getTrackPropagator() const
Definition: Context.h:62
SimTrack::vertIndex
int vertIndex() const
index of the vertex in the Event container (-1 if no vertex)
Definition: SimTrack.h:30
FWProxyBuilderBase::context
const fireworks::Context & context() const
Definition: FWProxyBuilderBase.cc:412
fwlog::kError
Definition: fwLog.h:35
FWProxyBuilderBase::haveSingleProduct
virtual bool haveSingleProduct() const
Definition: FWProxyBuilderBase.h:88
FWEventItem::name
const std::string & name() const
Definition: FWEventItem.cc:435
beamvalidation.exit
def exit(msg="")
Definition: beamvalidation.py:53
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
FWProxyBuilderBase::m_products
std::vector< Product * > m_products
Definition: FWProxyBuilderBase.h:135
edm::InputTag
Definition: InputTag.h:15
FWEventItem::size
size_t size() const
Definition: FWEventItem.cc:457