CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Namespaces | Classes | Functions | Variables
fireworks Namespace Reference

Namespaces

 expression
 
 geometry
 
 table
 

Classes

class  Context
 
struct  jetScaleMarker
 
class  OptionNode
 
struct  OptionNodePtrCompare
 
struct  OptionNodePtrEqual
 
struct  PaletteExtraTopBottomIndices
 
struct  scaleMarker
 
struct  State
 
class  StateOrdering
 

Functions

bool acceptDataFormatsVersion (TString &n)
 
void addBox (const std::vector< float > &corners, TEveElement *, FWProxyBuilderBase *)
 
void addCircle (double eta, double phi, double radius, const unsigned int nLineSegments, TEveElement *comp, FWProxyBuilderBase *pb)
 
void addDashedArrow (double phi, double size, TEveElement *comp, FWProxyBuilderBase *pb)
 
void addDashedLine (double phi, double theta, double size, TEveElement *comp, FWProxyBuilderBase *pb)
 
void addDoubleLines (double phi, TEveElement *comp, FWProxyBuilderBase *pb)
 
void addRhoZEnergyProjection (FWProxyBuilderBase *, TEveElement *, double r_ecal, double z_ecal, double theta_min, double theta_max, double phi)
 
void addSiStripClusters (const FWEventItem *iItem, const reco::Track &t, class TEveElement *tList, bool addNearbyClusters, bool master)
 
void addStraightLineSegment (TEveStraightLineSet *marker, reco::Candidate const *cand, double scale_factor=2)
 
const TGGC & boldGC ()
 
void createSegment (int detector, bool matchedSegment, float segmentLength, float segmentLimit, float *segmentPosition, float *segmentDirection, float *segmentInnerPoint, float *segmentOuterPoint)
 
const TString datadir ("/src/Fireworks/Core/")
 
void drawEnergyScaledBox3D (const float *corners, float scale, TEveElement *, FWProxyBuilderBase *, bool invert=false)
 
void drawEnergyTower3D (const float *corners, float scale, TEveElement *, FWProxyBuilderBase *, bool reflect=false)
 
void drawEtScaledBox3D (const float *corners, float energy, float maxEnergy, TEveElement *, FWProxyBuilderBase *, bool reflect=false)
 
void drawEtTower3D (const float *corners, float scale, TEveElement *, FWProxyBuilderBase *, bool reflect=false)
 
void energyScaledBox3DCorners (const float *corners, float scale, std::vector< float > &, bool invert=false)
 
void energyTower3DCorners (const float *corners, float scale, std::vector< float > &, bool reflect=false)
 
void etScaledBox3DCorners (const float *corners, float energy, float maxEnergy, std::vector< float > &scaledCorners, bool reflect=false)
 
void etTower3DCorners (const float *corners, float scale, std::vector< float > &, bool reflect=false)
 
const SiStripClusterextractClusterFromTrackingRecHit (const TrackingRecHit *rh)
 
void GetColorValuesForPaletteExtra (float(*iColors)[3], unsigned int iSize, FWColorManager::EPalette id, bool isBlack)
 
void getDecomposedVersion (const TString &s, int *out)
 
std::string getLocalTime (const edm::EventBase &event)
 
std::pair< double, double > getPhiRange (const std::vector< double > &phis, double phi)
 
TEveGeoShape * getShape (const char *name, TGeoBBox *shape, Color_t color)
 
std::string getTimeGMT (const edm::EventBase &event)
 
const TGGC & greenGC ()
 
 if (isWhiteBg)
 
std::string info (const DetId &)
 
std::string info (const std::set< DetId > &)
 
std::string info (const std::vector< DetId > &)
 
void invertBox (std::vector< float > &corners)
 
const TGGC & italicGC ()
 
void localSiStrip (short strip, float *localTop, float *localBottom, const float *pars, unsigned int id)
 
TEveJetCone * makeEveJetCone (const reco::Jet &iData, const fireworks::Context &context)
 
bool makeRhoPhiSuperCluster (FWProxyBuilderBase *, const reco::SuperClusterRef &iCluster, float iPhi, TEveElement &oItemHolder)
 
bool makeRhoZSuperCluster (FWProxyBuilderBase *, const reco::SuperClusterRef &iCluster, float iPhi, TEveElement &oItemHolder)
 
float pixelLocalX (const double mpx, const int m_nrows)
 
float pixelLocalY (const double mpy, const int m_ncols)
 
TEveTrack * prepareCandidate (const reco::Candidate &track, TEveTrackPropagator *propagator)
 
TEveTrack * prepareTrack (const reco::Track &track, TEveTrackPropagator *propagator, const std::vector< TEveVector > &extraRefPoints=std::vector< TEveVector >())
 
void pushNearbyPixelHits (std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
 
void pushPixelCluster (std::vector< TVector3 > &pixelPoints, const FWGeometry &geom, DetId id, const SiPixelCluster &c, const float *pars)
 
void pushPixelHits (std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
 
const TGGC & redGC ()
 
void setPath (TString &v)
 
void setTrackTypePF (const reco::PFCandidate &pfCand, TAttLine *track)
 
void setupAddElement (TEveElement *el, TEveElement *parent, const FWEventItem *item, bool master, bool color)
 
int * supportedDataFormatsVersion ()
 
 switch (id)
 
std::vector< std::pair< double,
double > > 
thetaBins ()
 

Variables

static const int BIG_PIX_PER_ROC_X = 1
 
static const int BIG_PIX_PER_ROC_Y = 2
 
static const int COLS_PER_ROC = 52
 
 iSize = iSize/2
 
unsigned int lastIdx = iSize -2
 
static const double MICRON = 1./1000./10.
 
const TString p1 = gSystem->Getenv("CMSSW_BASE") + datadir
 
const TString p2 = gSystem->Getenv("CMSSW_RELEASE_BASE") + datadir
 
static const double PITCHX = 100*MICRON
 
static const double PITCHY = 150*MICRON
 
static const int ROWS_PER_ROC = 80
 
static const float s_forBlack [][3]
 
static const float s_forWhite [][3]
 
static const unsigned int s_size = sizeof(s_forBlack)/sizeof(s_forBlack[0])
 
static const std::string subdets [7] = { "UNKNOWN", "PXB", "PXF", "TIB", "TID", "TOB", "TEC" }
 
 void
 

Function Documentation

bool fireworks::acceptDataFormatsVersion ( TString &  n)

Definition at line 71 of file fwPaths.cc.

References data, getDecomposedVersion(), and supportedDataFormatsVersion().

Referenced by FWFileEntry::openFile().

72 {
73  int data[] = {0, 0, 0};
74  getDecomposedVersion(processConfigurationVersion, data);
75 
76 
77  int* running = supportedDataFormatsVersion();
78  if ((data[0] == 6 && running[0] == 5 && running[1] > 1) ||
79  (data[0] == 5 && data[1] > 1 && running[0] == 6))
80  return true;
81  else
82  return data[0] == running[0];
83 }
void getDecomposedVersion(const TString &s, int *out)
Definition: fwPaths.cc:30
int * supportedDataFormatsVersion()
Definition: fwPaths.cc:43
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void fireworks::addBox ( const std::vector< float > &  corners,
TEveElement *  comp,
FWProxyBuilderBase pb 
)

Definition at line 148 of file BuilderUtils.cc.

References FWProxyBuilderBase::setupAddElement().

Referenced by drawEnergyScaledBox3D(), drawEnergyTower3D(), drawEtScaledBox3D(), and drawEtTower3D().

149  {
150  TEveBox* eveBox = new TEveBox( "Box" );
151  eveBox->SetDrawFrame( false );
152  eveBox->SetPickable( true );
153  eveBox->SetVertices( &corners[0] );
154 
155  pb->setupAddElement( eveBox, comp );
156  }
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
void fireworks::addCircle ( double  eta,
double  phi,
double  radius,
const unsigned int  nLineSegments,
TEveElement *  comp,
FWProxyBuilderBase pb 
)

Definition at line 158 of file BuilderUtils.cc.

References funct::cos(), M_PI, FWProxyBuilderBase::setupAddElement(), and funct::sin().

Referenced by FWJetLegoProxyBuilder::build(), FWL1MuonParticleLegoProxyBuilder::build(), FWL1JetParticleLegoProxyBuilder::build(), FWPFTauProxyBuilder::buildViewType(), and FWCaloTauProxyBuilder::buildViewType().

159  {
160  TEveStraightLineSet* container = new TEveStraightLineSet;
161 
162  for( unsigned int iphi = 0; iphi < nLineSegments; ++iphi )
163  {
164  container->AddLine( eta + radius * cos( 2 * M_PI / nLineSegments * iphi ),
165  phi + radius * sin( 2 * M_PI / nLineSegments * iphi ),
166  0.01,
167  eta + radius * cos( 2 * M_PI / nLineSegments * ( iphi + 1 )),
168  phi + radius * sin( 2 * M_PI / nLineSegments * ( iphi + 1 )),
169  0.01 );
170  }
171  pb->setupAddElement( container, comp );
172  }
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
#define M_PI
Geom::Phi< T > phi() const
void fireworks::addDashedArrow ( double  phi,
double  size,
TEveElement *  comp,
FWProxyBuilderBase pb 
)

Definition at line 174 of file BuilderUtils.cc.

References funct::cos(), cmsHarvester::marker, FWProxyBuilderBase::setupAddElement(), and funct::sin().

Referenced by FWL1EtMissParticleGlimpseProxyBuilder::build(), and FWMETGlimpseProxyBuilder::build().

175  {
176  TEveScalableStraightLineSet* marker = new TEveScalableStraightLineSet;
177  marker->SetLineWidth( 1 );
178  marker->SetLineStyle( 2 );
179  marker->AddLine( 0, 0, 0, size * cos( phi ), size * sin( phi ), 0 );
180  marker->AddLine( size * 0.9 * cos( phi + 0.03 ), size * 0.9 * sin( phi + 0.03 ), 0, size * cos( phi ), size * sin( phi ), 0 );
181  marker->AddLine( size * 0.9 * cos( phi - 0.03 ), size * 0.9 * sin( phi - 0.03 ), 0, size * cos( phi ), size * sin( phi ), 0 );
182  pb->setupAddElement( marker, comp );
183  }
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Geom::Phi< T > phi() const
tuple size
Write out results.
void fireworks::addDashedLine ( double  phi,
double  theta,
double  size,
TEveElement *  comp,
FWProxyBuilderBase pb 
)

Definition at line 185 of file BuilderUtils.cc.

References fireworks::Context::caloR1(), fireworks::Context::caloZ2(), FWProxyBuilderBase::context(), funct::cos(), M_PI, cmsHarvester::marker, alignCSCRings::r, FWProxyBuilderBase::setupAddElement(), and funct::sin().

Referenced by FWL1EmParticleProxyBuilder::build(), FWL1MuonParticleProxyBuilder::build(), FWL1JetParticleProxyBuilder::build(), and FWL1EtMissParticleProxyBuilder::build().

186  {
187  double r( 0 );
188  if( theta < pb->context().caloTransAngle() || M_PI - theta < pb->context().caloTransAngle())
189  r = pb->context().caloZ2() / fabs( cos( theta ));
190  else
191  r = pb->context().caloR1() / sin( theta );
192 
193  TEveStraightLineSet* marker = new TEveStraightLineSet;
194  marker->SetLineWidth( 2 );
195  marker->SetLineStyle( 2 );
196  marker->AddLine( r * cos( phi ) * sin( theta ), r * sin( phi ) * sin( theta ), r * cos( theta ),
197  ( r + size ) * cos( phi ) * sin( theta ), ( r + size ) * sin( phi ) * sin( theta ), ( r + size ) * cos( theta ));
198  pb->setupAddElement( marker, comp );
199  }
const fireworks::Context & context() const
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Theta< T > theta() const
static float caloZ2(bool offset=true)
Definition: Context.cc:223
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
static float caloR1(bool offset=true)
Definition: Context.cc:208
#define M_PI
Geom::Phi< T > phi() const
tuple size
Write out results.
void fireworks::addDoubleLines ( double  phi,
TEveElement *  comp,
FWProxyBuilderBase pb 
)

Definition at line 201 of file BuilderUtils.cc.

References M_PI, and FWProxyBuilderBase::setupAddElement().

Referenced by FWL1EtMissParticleLegoProxyBuilder::build(), and FWMETLegoProxyBuilder::build().

202  {
203  TEveStraightLineSet* mainLine = new TEveStraightLineSet;
204  mainLine->AddLine( -5.191, phi, 0.01, 5.191, phi, 0.01 );
205  pb->setupAddElement( mainLine, comp );
206 
207  phi = phi > 0 ? phi - M_PI : phi + M_PI;
208  TEveStraightLineSet* secondLine = new TEveStraightLineSet;
209  secondLine->SetLineStyle( 7 );
210  secondLine->AddLine( -5.191, phi, 0.01, 5.191, phi, 0.01 );
211  pb->setupAddElement( secondLine, comp );
212  }
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
#define M_PI
Geom::Phi< T > phi() const
void fireworks::addRhoZEnergyProjection ( FWProxyBuilderBase pb,
TEveElement *  container,
double  r_ecal,
double  z_ecal,
double  theta_min,
double  theta_max,
double  phi 
)

Definition at line 60 of file BuilderUtils.cc.

References diffTwoXMLs::r1, diffTwoXMLs::r2, FWProxyBuilderBase::setupAddElement(), lumiQTWidget::t, and funct::tan().

Referenced by FWTauProxyBuilderBase::buildBaseTau(), FWMETProxyBuilder::buildViewType(), and makeRhoZSuperCluster().

64  {
65  TEveGeoManagerHolder gmgr( TEveGeoShape::GetGeoMangeur());
66  double z1 = r_ecal / tan( theta_min );
67  if( z1 > z_ecal ) z1 = z_ecal;
68  if( z1 < -z_ecal ) z1 = -z_ecal;
69  double z2 = r_ecal / tan( theta_max );
70  if( z2 > z_ecal ) z2 = z_ecal;
71  if( z2 < -z_ecal ) z2 = -z_ecal;
72  double r1 = z_ecal * fabs( tan( theta_min ));
73  if( r1 > r_ecal ) r1 = r_ecal;
74  if( phi < 0 ) r1 = -r1;
75  double r2 = z_ecal * fabs( tan( theta_max ));
76  if( r2 > r_ecal ) r2 = r_ecal;
77  if( phi < 0 ) r2 = -r2;
78 
79  if( fabs(r2 - r1) > 1 )
80  {
81  TGeoBBox *sc_box = new TGeoBBox( 0., fabs( r2 - r1 ) / 2, 1 );
82  TEveGeoShape *element = new TEveGeoShape("r-segment");
83  element->SetShape(sc_box);
84  TEveTrans &t = element->RefMainTrans();
85  t(1,4) = 0;
86  t(2,4) = (r2+r1)/2;
87  t(3,4) = fabs(z2)>fabs(z1) ? z2 : z1;
88  pb->setupAddElement(element, container);
89  }
90  if( fabs(z2 - z1) > 1 )
91  {
92  TGeoBBox *sc_box = new TGeoBBox( 0., 1, ( z2 - z1 ) / 2 );
93  TEveGeoShape *element = new TEveGeoShape("z-segment");
94  element->SetShape( sc_box );
95  TEveTrans &t = element->RefMainTrans();
96  t(1,4) = 0;
97  t(2,4) = fabs(r2)>fabs(r1) ? r2 : r1;
98  t(3,4) = (z2+z1)/2;
99  pb->setupAddElement(element, container);
100  }
101  }
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Geom::Phi< T > phi() const
void fireworks::addSiStripClusters ( const FWEventItem iItem,
const reco::Track t,
class TEveElement *  tList,
bool  addNearbyClusters,
bool  master 
)

Definition at line 387 of file TrackUtils.cc.

References edmNew::DetSet< T >::begin(), SiStripRecHit1D::cluster(), SiStripRecHit2D::cluster(), FWGeometry::contains(), edmNew::DetSet< T >::end(), edmNew::DetSetVector< T >::end(), extractClusterFromTrackingRecHit(), edmNew::DetSetVector< T >::find(), SiStripCluster::firstStrip(), fwLog, TrackingRecHit::geographicalId(), relativeConstraints::geom, edm::EventBase::get(), FWEventItem::getEvent(), FWEventItem::getGeom(), FWGeometry::getParameters(), edm::Ref< C, T, F >::id(), edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), TrackingRecHit::isValid(), fwlog::kDebug, fwlog::kError, localSiStrip(), FWGeometry::localToGlobal(), edm::Handle< T >::product(), DetId::rawId(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), and setupAddElement().

Referenced by FWTrackHitsDetailView::addHits(), FWConvTrackHitsDetailView::addHits(), and FWTracksRecHitsProxyBuilder::build().

388 {
389  // master is true if the product is for proxy builder
390  const FWGeometry *geom = iItem->getGeom();
391 
392  const edmNew::DetSetVector<SiStripCluster> * allClusters = 0;
393  if( addNearbyClusters )
394  {
395  for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it )
396  {
397  if( typeid( **it ) == typeid( SiStripRecHit2D ))
398  {
399  const SiStripRecHit2D &hit = static_cast<const SiStripRecHit2D &>( **it );
400  if( hit.cluster().isNonnull() && hit.cluster().isAvailable())
401  {
403  iItem->getEvent()->get(hit.cluster().id(), allClustersHandle);
404  allClusters = allClustersHandle.product();
405  break;
406  }
407  }
408  else if( typeid( **it ) == typeid( SiStripRecHit1D ))
409  {
410  const SiStripRecHit1D &hit = static_cast<const SiStripRecHit1D &>( **it );
411  if( hit.cluster().isNonnull() && hit.cluster().isAvailable())
412  {
414  iItem->getEvent()->get(hit.cluster().id(), allClustersHandle);
415  allClusters = allClustersHandle.product();
416  break;
417  }
418  }
419  }
420  }
421 
422  for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it )
423  {
424  unsigned int rawid = (*it)->geographicalId();
425  if( ! geom->contains( rawid ))
426  {
428  << "failed to get geometry of SiStripCluster with detid: "
429  << rawid << std::endl;
430 
431  continue;
432  }
433 
434  const float* pars = geom->getParameters( rawid );
435 
436  // -- get phi from SiStripHit
437  auto rechitRef = *it;
438  const TrackingRecHit *rechit = &( *rechitRef );
439  const SiStripCluster *cluster = extractClusterFromTrackingRecHit( rechit );
440 
441  if( cluster )
442  {
443  if( allClusters != 0 )
444  {
445  const edmNew::DetSet<SiStripCluster> & clustersOnThisDet = (*allClusters)[rechit->geographicalId().rawId()];
446 
447  for( edmNew::DetSet<SiStripCluster>::const_iterator itc = clustersOnThisDet.begin(), edc = clustersOnThisDet.end(); itc != edc; ++itc )
448  {
449 
450  TEveStraightLineSet *scposition = new TEveStraightLineSet;
451  scposition->SetDepthTest( false );
452  scposition->SetPickable( kTRUE );
453 
454  short firststrip = itc->firstStrip();
455 
456  if( &*itc == cluster )
457  {
458  scposition->SetTitle( Form( "Exact SiStripCluster from TrackingRecHit, first strip %d", firststrip ));
459  scposition->SetLineColor( kGreen );
460  }
461  else
462  {
463  scposition->SetTitle( Form( "SiStripCluster, first strip %d", firststrip ));
464  scposition->SetLineColor( kRed );
465  }
466 
467  float localTop[3] = { 0.0, 0.0, 0.0 };
468  float localBottom[3] = { 0.0, 0.0, 0.0 };
469 
470  fireworks::localSiStrip( firststrip, localTop, localBottom, pars, rawid );
471 
472  float globalTop[3];
473  float globalBottom[3];
474  geom->localToGlobal( rawid, localTop, globalTop, localBottom, globalBottom );
475 
476  scposition->AddLine( globalTop[0], globalTop[1], globalTop[2],
477  globalBottom[0], globalBottom[1], globalBottom[2] );
478 
479  setupAddElement( scposition, tList, iItem, master, false );
480  }
481  }
482  else
483  {
484  short firststrip = cluster->firstStrip();
485  TEveStraightLineSet *scposition = new TEveStraightLineSet;
486  scposition->SetDepthTest( false );
487  scposition->SetPickable( kTRUE );
488  scposition->SetTitle( Form( "SiStripCluster, first strip %d", firststrip ));
489 
490  float localTop[3] = { 0.0, 0.0, 0.0 };
491  float localBottom[3] = { 0.0, 0.0, 0.0 };
492 
493  fireworks::localSiStrip( firststrip, localTop, localBottom, pars, rawid );
494 
495  float globalTop[3];
496  float globalBottom[3];
497  geom->localToGlobal( rawid, localTop, globalTop, localBottom, globalBottom );
498 
499  scposition->AddLine( globalTop[0], globalTop[1], globalTop[2],
500  globalBottom[0], globalBottom[1], globalBottom[2] );
501 
502  setupAddElement( scposition, tList, iItem, master, true );
503  }
504  }
505  else if( !rechit->isValid() && ( rawid != 0 )) // lost hit
506  {
507  if( allClusters != 0 )
508  {
509  edmNew::DetSetVector<SiStripCluster>::const_iterator itds = allClusters->find( rawid );
510  if( itds != allClusters->end())
511  {
512  const edmNew::DetSet<SiStripCluster> & clustersOnThisDet = *itds;
513  for( edmNew::DetSet<SiStripCluster>::const_iterator itc = clustersOnThisDet.begin(), edc = clustersOnThisDet.end(); itc != edc; ++itc )
514  {
515  short firststrip = itc->firstStrip();
516 
517  TEveStraightLineSet *scposition = new TEveStraightLineSet;
518  scposition->SetDepthTest( false );
519  scposition->SetPickable( kTRUE );
520  scposition->SetTitle( Form( "Lost SiStripCluster, first strip %d", firststrip ));
521 
522  float localTop[3] = { 0.0, 0.0, 0.0 };
523  float localBottom[3] = { 0.0, 0.0, 0.0 };
524 
525  fireworks::localSiStrip( firststrip, localTop, localBottom, pars, rawid );
526 
527  float globalTop[3];
528  float globalBottom[3];
529  geom->localToGlobal( rawid, localTop, globalTop, localBottom, globalBottom );
530 
531  scposition->AddLine( globalTop[0], globalTop[1], globalTop[2],
532  globalBottom[0], globalBottom[1], globalBottom[2] );
533 
534 
535  setupAddElement( scposition, tList, iItem, master, false );
536  scposition->SetLineColor( kRed );
537  }
538  }
539  }
540  }
541  else
542  {
544  << "*ANOTHER* option possible: valid=" << rechit->isValid()
545  << ", rawid=" << rawid << std::endl;
546  }
547  }
548 }
ClusterRef cluster() const
bool isAvailable() const
Definition: Ref.h:576
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
const float * getParameters(unsigned int id) const
Definition: FWGeometry.cc:296
bool get(ProductID const &, Handle< T > &) const
Definition: EventBase.h:102
uint16_t firstStrip() const
data_type const * const_iterator
Definition: DetSetNew.h:30
ProductID id() const
Accessor for product ID.
Definition: Ref.h:258
void localSiStrip(short strip, float *localTop, float *localBottom, const float *pars, unsigned int id)
Definition: TrackUtils.cc:297
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
const SiStripCluster * extractClusterFromTrackingRecHit(const TrackingRecHit *rh)
Definition: TrackUtils.cc:364
void localToGlobal(unsigned int id, const float *local, float *global, bool translatep=true) const
Definition: FWGeometry.cc:328
ClusterRef cluster() const
bool contains(unsigned int id) const
Definition: FWGeometry.h:109
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:104
const edm::EventBase * getEvent() const
Definition: FWEventItem.h:148
T const * product() const
Definition: Handle.h:81
#define fwLog(_level_)
Definition: fwLog.h:50
bool isValid() const
const_iterator find(id_type i, bool update=false) const
iterator end()
Definition: DetSetNew.h:70
DetId geographicalId() const
void setupAddElement(TEveElement *el, TEveElement *parent, const FWEventItem *item, bool master, bool color)
Definition: TrackUtils.cc:342
const FWGeometry * getGeom() const
Definition: FWEventItem.cc:683
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:109
iterator begin()
Definition: DetSetNew.h:67
void fireworks::addStraightLineSegment ( TEveStraightLineSet *  marker,
reco::Candidate const *  cand,
double  scale_factor = 2 
)

Definition at line 23 of file CandidateUtils.cc.

References funct::cos(), reco::Candidate::phi(), phi(), reco::Candidate::pt(), funct::sin(), findQualityFiles::size, reco::Candidate::theta(), and theta().

Referenced by FWMuonGlimpseProxyBuilder::build(), and FWElectronGlimpseProxyBuilder::build().

26 {
27  double phi = cand->phi();
28  double theta = cand->theta();
29  double size = cand->pt() * scale_factor;
30  marker->AddLine( 0, 0, 0, size * cos(phi)*sin(theta), size *sin(phi)*sin(theta), size*cos(theta));
31 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Theta< T > theta() const
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Geom::Phi< T > phi() const
tuple size
Write out results.
const TGGC & fireworks::boldGC ( )

Definition at line 12 of file GlobalContexts.cc.

References edmIntegrityCheck::pool.

Referenced by FWPSetTableManager::cellRenderer().

13 {
14  static TGGC s_boldGC(*gClient->GetResourcePool()->GetFrameGC());
15 
16  TGFontPool *pool = gClient->GetFontPool();
17  //TGFont *font = pool->FindFontByHandle(s_boldGC.GetFont());
18  //FontAttributes_t attributes = font->GetFontAttributes();
19 
20  /*
21  This doesn't seem to work:
22  attributes.fWeight = 1;
23  TGFont *newFont = pool->GetFont(attributes.fFamily, 9,
24  attributes.fWeight, attributes.fSlant);
25 
26  But this does:
27  */
28 
29  TGFont* newFont = pool->GetFont("-*-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1");
30 
31  if ( ! newFont )
32  return s_boldGC;
33 
34  s_boldGC.SetFont(newFont->GetFontHandle());
35 
36  return s_boldGC;
37 }
void fireworks::createSegment ( int  detector,
bool  matchedSegment,
float  segmentLength,
float  segmentLimit,
float *  segmentPosition,
float *  segmentDirection,
float *  segmentInnerPoint,
float *  segmentOuterPoint 
)

Definition at line 10 of file SegmentUtils.cc.

References funct::cos(), MuonSubdetId::CSC, MuonSubdetId::DT, fwLog, fwlog::kWarning, mag(), mathSSE::sqrt(), funct::tan(), and theta().

18  {
19  if( detector == MuonSubdetId::CSC )
20  {
21  if( matchedSegment )
22  {
23  segmentOuterPoint[0] = segmentPosition[0] + segmentLength*segmentDirection[0];
24  segmentOuterPoint[1] = segmentPosition[1] + segmentLength*segmentDirection[1];
25  segmentOuterPoint[2] = segmentLength;
26 
27  if( fabs(segmentOuterPoint[1]) > segmentLimit )
28  segmentOuterPoint[1] = segmentLimit * ( segmentOuterPoint[1] / fabs( segmentOuterPoint[1] ));
29 
30  segmentInnerPoint[0] = segmentPosition[0] - segmentLength*segmentDirection[0];
31  segmentInnerPoint[1] = segmentPosition[1] - segmentLength*segmentDirection[1];
32  segmentInnerPoint[2] = -segmentLength;
33 
34  if( fabs(segmentInnerPoint[1]) > segmentLimit )
35  segmentInnerPoint[1] = segmentLimit * ( segmentInnerPoint[1] / fabs( segmentInnerPoint[1] ));
36 
37  return;
38  }
39  else
40  {
41  segmentOuterPoint[0] = segmentPosition[0] + segmentDirection[0] * ( segmentPosition[2] / segmentDirection[2] );
42  segmentOuterPoint[1] = segmentPosition[1] + segmentDirection[1] * ( segmentPosition[2] / segmentDirection[2] );
43  segmentOuterPoint[2] = segmentPosition[2];
44 
45  if( fabs( segmentOuterPoint[1] ) > segmentLength )
46  segmentOuterPoint[1] = segmentLength * ( segmentOuterPoint[1]/fabs( segmentOuterPoint[1] ));
47 
48  segmentInnerPoint[0] = segmentPosition[0] - segmentDirection[0] * ( segmentPosition[2] / segmentDirection[2] );
49  segmentInnerPoint[1] = segmentPosition[1] - segmentDirection[1] * ( segmentPosition[2] / segmentDirection[2] );
50  segmentInnerPoint[2] = -segmentPosition[2];
51 
52  if( fabs( segmentInnerPoint[1] ) > segmentLength )
53  segmentInnerPoint[1] = segmentLength * ( segmentInnerPoint[1] / fabs( segmentInnerPoint[1] ));
54 
55  return;
56  }
57  }
58 
59  if ( detector == MuonSubdetId::DT )
60  {
61  if( matchedSegment )
62  {
63  segmentOuterPoint[0] = segmentPosition[0] + segmentLength*segmentDirection[0];
64  segmentOuterPoint[1] = segmentPosition[1] + segmentLength*segmentDirection[1];
65  segmentOuterPoint[2] = segmentLength;
66 
67  segmentInnerPoint[0] = segmentPosition[0] - segmentLength*segmentDirection[0];
68  segmentInnerPoint[1] = segmentPosition[1] - segmentLength*segmentDirection[1];
69  segmentInnerPoint[2] = -segmentLength;
70 
71  return;
72  }
73  else
74  {
75  double mag = sqrt( segmentDirection[0] * segmentDirection[0] +
76  segmentDirection[1] * segmentDirection[1] +
77  segmentDirection[2] * segmentDirection[2] );
78 
79  double theta = atan2( sqrt( segmentDirection[0] * segmentDirection[0]
80  + segmentDirection[1] * segmentDirection[1] ), segmentDirection[2] );
81 
82  double newSegmentLength = segmentLength / cos( theta );
83 
84  segmentInnerPoint[0] = segmentPosition[0] + ( segmentDirection[0] / mag ) * newSegmentLength;
85  segmentInnerPoint[1] = segmentPosition[1] + ( segmentDirection[1] / mag ) * newSegmentLength;
86  segmentInnerPoint[2] = segmentPosition[2] + ( segmentDirection[2] / mag ) * newSegmentLength;
87 
88  segmentOuterPoint[0] = segmentPosition[0] - ( segmentDirection[0] / mag ) * newSegmentLength;
89  segmentOuterPoint[1] = segmentPosition[1] - ( segmentDirection[1] / mag ) * newSegmentLength;
90  segmentOuterPoint[2] = segmentPosition[2] - ( segmentDirection[2] / mag ) * newSegmentLength;
91 
92  if( fabs(segmentOuterPoint[0]) > segmentLimit )
93  {
94  segmentOuterPoint[0] = segmentLimit * ( segmentOuterPoint[0]/fabs( segmentOuterPoint[0] ));
95  segmentOuterPoint[1] = ( segmentOuterPoint[1]/fabs( segmentOuterPoint[1] )) * tan( theta );
96  }
97 
98  return;
99  }
100  }
101 
102  fwLog( fwlog::kWarning ) << "MuonSubdetId: " << detector << std::endl;
103  return;
104  }
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Geom::Theta< T > theta() const
static const int CSC
Definition: MuonSubdetId.h:13
T sqrt(T t)
Definition: SSEVec.h:18
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
#define fwLog(_level_)
Definition: fwLog.h:50
static const int DT
Definition: MuonSubdetId.h:12
const TString fireworks::datadir ( "/src/Fireworks/Core/"  )
void fireworks::drawEnergyScaledBox3D ( const float *  corners,
float  scale,
TEveElement *  comp,
FWProxyBuilderBase pb,
bool  invert = false 
)

Definition at line 241 of file BuilderUtils.cc.

References addBox(), and energyScaledBox3DCorners().

242  {
243  std::vector<float> scaledCorners( 24 );
244  energyScaledBox3DCorners(corners, scale, scaledCorners, invert);
245  addBox( scaledCorners, comp, pb );
246  }
void energyScaledBox3DCorners(const float *corners, float scale, std::vector< float > &, bool invert=false)
void addBox(const std::vector< float > &corners, TEveElement *, FWProxyBuilderBase *)
void fireworks::drawEnergyTower3D ( const float *  corners,
float  scale,
TEveElement *  comp,
FWProxyBuilderBase pb,
bool  reflect = false 
)

Definition at line 325 of file BuilderUtils.cc.

References addBox(), and energyTower3DCorners().

326  {
327  std::vector<float> scaledCorners( 24 );
328  energyTower3DCorners(corners, scale, scaledCorners, reflect);
329  addBox( scaledCorners, comp, pb );
330  }
void energyTower3DCorners(const float *corners, float scale, std::vector< float > &, bool reflect=false)
void addBox(const std::vector< float > &corners, TEveElement *, FWProxyBuilderBase *)
void fireworks::drawEtScaledBox3D ( const float *  corners,
float  energy,
float  maxEnergy,
TEveElement *  comp,
FWProxyBuilderBase pb,
bool  reflect = false 
)

Definition at line 278 of file BuilderUtils.cc.

References addBox(), and etScaledBox3DCorners().

279  {
280  std::vector<float> scaledCorners( 24 );
281  etScaledBox3DCorners(corners, energy, maxEnergy, scaledCorners, invert);
282  addBox( scaledCorners, comp, pb );
283  }
void addBox(const std::vector< float > &corners, TEveElement *, FWProxyBuilderBase *)
void etScaledBox3DCorners(const float *corners, float energy, float maxEnergy, std::vector< float > &scaledCorners, bool reflect=false)
void fireworks::drawEtTower3D ( const float *  corners,
float  scale,
TEveElement *  comp,
FWProxyBuilderBase pb,
bool  reflect = false 
)

Definition at line 374 of file BuilderUtils.cc.

References addBox(), and etTower3DCorners().

375  {
376  std::vector<float> scaledCorners( 24 );
377  etTower3DCorners(corners, scale, scaledCorners, reflect);
378  addBox( scaledCorners, comp, pb );
379  }
void etTower3DCorners(const float *corners, float scale, std::vector< float > &, bool reflect=false)
void addBox(const std::vector< float > &corners, TEveElement *, FWProxyBuilderBase *)
void fireworks::energyScaledBox3DCorners ( const float *  corners,
float  scale,
std::vector< float > &  scaledCorners,
bool  invert = false 
)

Definition at line 215 of file BuilderUtils.cc.

References f, i, and invertBox().

Referenced by drawEnergyScaledBox3D().

216  {
217  std::vector<float> centre( 3, 0 );
218 
219  for( unsigned int i = 0; i < 24; i += 3 )
220  {
221  centre[0] += corners[i];
222  centre[1] += corners[i + 1];
223  centre[2] += corners[i + 2];
224  }
225 
226  for( unsigned int i = 0; i < 3; ++i )
227  centre[i] *= 1.0f / 8.0f;
228 
229  // Coordinates for a scaled version of the original box
230  for( unsigned int i = 0; i < 24; i += 3 )
231  {
232  scaledCorners[i] = centre[0] + ( corners[i] - centre[0] ) * scale;
233  scaledCorners[i + 1] = centre[1] + ( corners[i + 1] - centre[1] ) * scale;
234  scaledCorners[i + 2] = centre[2] + ( corners[i + 2] - centre[2] ) * scale;
235  }
236 
237  if( invert )
238  invertBox( scaledCorners );
239  }
int i
Definition: DBlmapReader.cc:9
void invertBox(std::vector< float > &corners)
double f[11][100]
void fireworks::energyTower3DCorners ( const float *  corners,
float  scale,
std::vector< float > &  scaledCorners,
bool  reflect = false 
)

Definition at line 286 of file BuilderUtils.cc.

References mps_update::diff, i, and pileupReCalc_HLTpaths::scale.

Referenced by FWPRCaloTowerProxyBuilder::build(), FWCaloClusterProxyBuilder::build(), FWPCaloHitProxyBuilder::build(), and drawEnergyTower3D().

287  {
288  for( int i = 0; i < 24; ++i )
289  scaledCorners[i] = corners[i];
290  // Coordinates of a front face scaled
291  if( reflect )
292  {
293  // We know, that an ES rechit geometry in -Z needs correction.
294  // The back face is actually its front face.
295  for( unsigned int i = 0; i < 12; i += 3 )
296  {
297  TEveVector diff( corners[i] - corners[i + 12], corners[i + 1] - corners[i + 13], corners[i + 2] - corners[i + 14] );
298  diff.Normalize();
299  diff *= scale;
300 
301  scaledCorners[i] = corners[i] + diff.fX;
302  scaledCorners[i + 1] = corners[i + 1] + diff.fY;
303  scaledCorners[i + 2] = corners[i + 2] + diff.fZ;
304  }
305  }
306  else
307  {
308  for( unsigned int i = 0; i < 12; i += 3 )
309  {
310  TEveVector diff( corners[i + 12] - corners[i], corners[i + 13] - corners[i + 1], corners[i + 14] - corners[i + 2] );
311  diff.Normalize();
312  diff *= scale;
313 
314  scaledCorners[i] = corners[i + 12];
315  scaledCorners[i + 1] = corners[i + 13];
316  scaledCorners[i + 2] = corners[i + 14];
317 
318  scaledCorners[i + 12] = corners[i + 12] + diff.fX;
319  scaledCorners[i + 13] = corners[i + 13] + diff.fY;
320  scaledCorners[i + 14] = corners[i + 14] + diff.fZ;
321  }
322  }
323  }
int i
Definition: DBlmapReader.cc:9
list diff
Definition: mps_update.py:85
void fireworks::etScaledBox3DCorners ( const float *  corners,
float  energy,
float  maxEnergy,
std::vector< float > &  scaledCorners,
bool  reflect = false 
)

Definition at line 249 of file BuilderUtils.cc.

References EnergyCorrector::c, f, i, invertBox(), pileupReCalc_HLTpaths::scale, and funct::sin().

Referenced by drawEtScaledBox3D().

250  {
251  std::vector<float> centre( 3, 0 );
252 
253  for( unsigned int i = 0; i < 24; i += 3 )
254  {
255  centre[0] += corners[i];
256  centre[1] += corners[i + 1];
257  centre[2] += corners[i + 2];
258  }
259 
260  for( unsigned int i = 0; i < 3; ++i )
261  centre[i] *= 1.0f / 8.0f;
262 
263  TEveVector c( centre[0], centre[1], centre[2] );
264  float scale = energy / maxEnergy * sin( c.Theta());
265 
266  // Coordinates for a scaled version of the original box
267  for( unsigned int i = 0; i < 24; i += 3 )
268  {
269  scaledCorners[i] = centre[0] + ( corners[i] - centre[0] ) * scale;
270  scaledCorners[i + 1] = centre[1] + ( corners[i + 1] - centre[1] ) * scale;
271  scaledCorners[i + 2] = centre[2] + ( corners[i + 2] - centre[2] ) * scale;
272  }
273 
274  if( invert )
275  invertBox( scaledCorners );
276  }
int i
Definition: DBlmapReader.cc:9
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
void invertBox(std::vector< float > &corners)
double f[11][100]
void fireworks::etTower3DCorners ( const float *  corners,
float  scale,
std::vector< float > &  scaledCorners,
bool  reflect = false 
)

Definition at line 334 of file BuilderUtils.cc.

References mps_update::diff, i, and funct::sin().

Referenced by drawEtTower3D().

335  {
336  for( int i = 0; i < 24; ++i )
337  scaledCorners[i] = corners[i];
338  // Coordinates of a front face scaled
339  if( reflect )
340  {
341  // We know, that an ES rechit geometry in -Z needs correction.
342  // The back face is actually its front face.
343  for( unsigned int i = 0; i < 12; i += 3 )
344  {
345  TEveVector diff( corners[i] - corners[i + 12], corners[i + 1] - corners[i + 13], corners[i + 2] - corners[i + 14] );
346  diff.Normalize();
347  diff *= ( scale * sin( diff.Theta()));
348 
349  scaledCorners[i] = corners[i] + diff.fX;
350  scaledCorners[i + 1] = corners[i + 1] + diff.fY;
351  scaledCorners[i + 2] = corners[i + 2] + diff.fZ;
352  }
353  }
354  else
355  {
356  for( unsigned int i = 0; i < 12; i += 3 )
357  {
358  TEveVector diff( corners[i + 12] - corners[i], corners[i + 13] - corners[i + 1], corners[i + 14] - corners[i + 2] );
359  diff.Normalize();
360  diff *= ( scale * sin( diff.Theta()));
361 
362  scaledCorners[i] = corners[i + 12];
363  scaledCorners[i + 1] = corners[i + 13];
364  scaledCorners[i + 2] = corners[i + 14];
365 
366  scaledCorners[i + 12] = corners[i + 12] + diff.fX;
367  scaledCorners[i + 13] = corners[i + 13] + diff.fY;
368  scaledCorners[i + 14] = corners[i + 14] + diff.fZ;
369  }
370  }
371  }
int i
Definition: DBlmapReader.cc:9
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
list diff
Definition: mps_update.py:85
const SiStripCluster * fireworks::extractClusterFromTrackingRecHit ( const TrackingRecHit rh)

Definition at line 364 of file TrackUtils.cc.

References fwLog, and fwlog::kDebug.

Referenced by addSiStripClusters(), and FWTrajectorySeedProxyBuilder::build().

365 {
366  const SiStripCluster* cluster = 0;
367 
368  if( const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>( rechit ))
369  {
370  fwLog( fwlog::kDebug ) << "hit 2D ";
371 
372  cluster = hit2D->cluster().get();
373  }
374  if( cluster == 0 )
375  {
376  if( const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>( rechit ))
377  {
378  fwLog( fwlog::kDebug ) << "hit 1D ";
379 
380  cluster = hit1D->cluster().get();
381  }
382  }
383  return cluster;
384 }
#define fwLog(_level_)
Definition: fwLog.h:50
void fireworks::GetColorValuesForPaletteExtra ( float(*)  iColors[3],
unsigned int  iSize,
FWColorManager::EPalette  id,
bool  isBlack 
)
void fireworks::getDecomposedVersion ( const TString &  s,
int *  out 
)

Definition at line 30 of file fwPaths.cc.

Referenced by acceptDataFormatsVersion(), FWFileEntry::openFile(), and supportedDataFormatsVersion().

31 {
32  TPMERegexp re("CMSSW_(\\d+)_(\\d+)_");
33  re.Match(s);
34  if (re.NMatches() > 2)
35  {
36  out[0] = re[1].Atoi();
37  out[1] = re[2].Atoi();
38  }
39 }
std::string fireworks::getLocalTime ( const edm::EventBase event)

Definition at line 113 of file BuilderUtils.cc.

References AlCaHLTBitMon_QueryRunRegistry::string, lumiQTWidget::t, runonSM::text, edm::EventBase::time(), and edm::Timestamp::value().

Referenced by CmsShowMainFrame::loadEvent(), and FWEventAnnotation::updateOverlayText().

114  {
115 
116  time_t t( event.time().value() >> 32 );
117  struct tm * xx = localtime( &t );
118  std::string text( asctime(xx) );
119  size_t pos = text.find('\n');
120  if( pos != std::string::npos ) text = text.substr( 0, pos );
121  text += " ";
122  if( xx->tm_isdst )
123  text += tzname[1];
124  else
125  text += tzname[0];
126  return text;
127  }
tuple text
Definition: runonSM.py:42
TimeValue_t value() const
Definition: Timestamp.h:56
edm::Timestamp time() const
Definition: EventBase.h:60
std::pair< double, double > fireworks::getPhiRange ( const std::vector< double > &  phis,
double  phi 
)

Definition at line 21 of file BuilderUtils.cc.

References i, M_PI, bookConverter::max, and min().

Referenced by FWTauProxyBuilderBase::buildBaseTau(), and makeRhoPhiSuperCluster().

22  {
23  double min = 100;
24  double max = -100;
25 
26  for( std::vector<double>::const_iterator i = phis.begin();
27  i != phis.end(); ++i )
28  {
29  double aphi = *i;
30  // make phi continuous around jet phi
31  if( aphi - phi > M_PI ) aphi -= 2*M_PI;
32  if( phi - aphi > M_PI ) aphi += 2*M_PI;
33  if( aphi > max ) max = aphi;
34  if( aphi < min ) min = aphi;
35  }
36 
37  if( min > max ) return std::pair<double,double>( 0, 0 );
38 
39  return std::pair<double,double>( min, max );
40  }
int i
Definition: DBlmapReader.cc:9
T min(T a, T b)
Definition: MathUtil.h:58
#define M_PI
Geom::Phi< T > phi() const
TEveGeoShape * fireworks::getShape ( const char *  name,
TGeoBBox *  shape,
Color_t  color 
)

Definition at line 42 of file BuilderUtils.cc.

References EnergyCorrector::c.

Referenced by FWTauProxyBuilderBase::buildBaseTau(), FWMETProxyBuilder::buildViewType(), FWGlimpseView::FWGlimpseView(), and makeRhoPhiSuperCluster().

45  {
46  TEveGeoShape* egs = new TEveGeoShape( name );
47  TColor* c = gROOT->GetColor( color );
48  Float_t rgba[4] = { 1, 0, 0, 1 };
49  if( c )
50  {
51  rgba[0] = c->GetRed();
52  rgba[1] = c->GetGreen();
53  rgba[2] = c->GetBlue();
54  }
55  egs->SetMainColorRGB( rgba[0], rgba[1], rgba[2] );
56  egs->SetShape( shape );
57  return egs;
58  }
std::string fireworks::getTimeGMT ( const edm::EventBase event)

Definition at line 103 of file BuilderUtils.cc.

References AlCaHLTBitMon_QueryRunRegistry::string, lumiQTWidget::t, runonSM::text, edm::EventBase::time(), and edm::Timestamp::value().

104  {
105  time_t t( event.time().value() >> 32 );
106  std::string text( asctime( gmtime( &t ) ) );
107  size_t pos = text.find( '\n' );
108  if( pos != std::string::npos ) text = text.substr( 0, pos );
109  text += " GMT";
110  return text;
111  }
tuple text
Definition: runonSM.py:42
TimeValue_t value() const
Definition: Timestamp.h:56
edm::Timestamp time() const
Definition: EventBase.h:60
const TGGC & fireworks::greenGC ( )

Definition at line 39 of file GlobalContexts.cc.

40 {
41  static TGGC s_greenGC(*gClient->GetResourcePool()->GetFrameGC());
42  s_greenGC.SetForeground(gVirtualX->GetPixel(kGreen-5));
43  return s_greenGC;
44 }
fireworks::if ( isWhiteBg  )

Definition at line 176 of file fwPaletteExtra.cc.

References b, f, g, i, iSize, lastIdx, Min(), alignCSCRings::r, alignCSCRings::s, and relativeConstraints::value.

177  {
178  for (unsigned int i = 0; i<lastIdx; ++i) {
179 
180  float s = 1.2;
181  float r = TMath::Min(1.f,s* iColors[i][0]);
182  float g = TMath::Min(1.f,s *iColors[i][1]);
183  float b = TMath::Min(1.f,s *iColors[i][2]);
184 
185 
186  iColors[i][0] = r;
187  iColors[i][1] = g;
188  iColors[i][2] = b;
189 
190 
191  float value = 1.7;
192  r = TMath::Power(r, (2.5 - value)/2.5);
193  g = TMath::Power(g, (2.5 - value)/2.5);
194  b = TMath::Power(b, (2.5 - value)/2.5);
195  /*
196  s = 1.2;
197  r = TMath::Min(1.f,s* iColors[i][0]);
198  g = TMath::Min(1.f,s *iColors[i][1]);
199  b = TMath::Min(1.f,s *iColors[i][2]);
200  */
201 
202  r = TMath::Min(1.f, r);
203  g = TMath::Min(1.f, g);
204  b = TMath::Min(1.f, b);
205 
206  iColors[i + iSize][0] = r;
207  iColors[i + iSize][1] = g;
208  iColors[i + iSize][2] = b;
209  }
210  }
int i
Definition: DBlmapReader.cc:9
T Min(T a, T b)
Definition: MathUtil.h:39
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
double f[11][100]
double b
Definition: hdecay.h:120
unsigned int lastIdx
std::string fireworks::info ( const DetId id)

Definition at line 692 of file TrackUtils.cc.

References DetId::Calo, ME0DetId::chamber(), CSCDetId::chamber(), GEMDetId::chamber(), MuonSubdetId::CSC, HcalDetId::depth(), MuonSubdetId::DT, DetId::Ecal, EcalBarrel, EcalEndcap, EcalLaserPnDiode, EcalPreshower, EcalTriggerTower, CSCDetId::endcap(), MuonSubdetId::GEM, DetId::Hcal, HcalBarrel, HcalEmpty, HcalEndcap, HcalForward, HcalOther, HcalOuter, HcalTriggerTower, EEDetId::ic(), CaloTowerDetId::ieta(), EBDetId::ieta(), HcalDetId::ieta(), CaloTowerDetId::iphi(), EBDetId::iphi(), HcalDetId::iphi(), EEDetId::iquadrant(), EEDetId::isc(), EEDetId::ix(), EEDetId::iy(), PXBDetId::layer(), TOBDetId::layer(), TIBDetId::layer(), ME0DetId::layer(), CSCDetId::layer(), GEMDetId::layer(), RPCDetId::layer(), MuonSubdetId::ME0, DetId::Muon, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, ME0DetId::region(), GEMDetId::region(), RPCDetId::region(), GEMDetId::ring(), RPCDetId::ring(), CSCDetId::ring(), RPCDetId::roll(), MuonSubdetId::RPC, DTChamberId::sector(), RPCDetId::sector(), DTChamberId::station(), GEMDetId::station(), CSCDetId::station(), RPCDetId::station(), HcalDetId::subdet(), RPCDetId::subsector(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, EBDetId::tower_ieta(), EBDetId::tower_iphi(), DetId::Tracker, DTChamberId::wheel(), TIDDetId::wheel(), and TECDetId::wheel().

Referenced by FWTrackHitsDetailView::addModules(), FWConvTrackHitsDetailView::addModules(), FWTracksModulesProxyBuilder::build(), and info().

692  {
693  std::ostringstream oss;
694 
695  oss << "DetId: " << id.rawId() << "\n";
696 
697  switch ( id.det() ) {
698 
699  case DetId::Tracker:
700  switch ( id.subdetId() ) {
702  {
703  oss <<"TIB "<<TIBDetId(id).layer();
704  }
705  break;
707  {
708  oss <<"TOB "<<TOBDetId(id).layer();
709  }
710  break;
712  {
713  oss <<"TEC "<<TECDetId(id).wheel();
714  }
715  break;
717  {
718  oss <<"TID "<<TIDDetId(id).wheel();
719  }
720  break;
722  {
723  oss <<"PixBarrel "<< PXBDetId(id).layer();
724  }
725  break;
727  {
728  oss <<"PixEndcap "<< PXBDetId(id).layer();
729  }
730  break;
731  }
732  break;
733 
734  case DetId::Muon:
735  switch ( id.subdetId() ) {
736  case MuonSubdetId::DT:
737  {
738  DTChamberId detId(id.rawId());
739  oss << "DT chamber (wheel, station, sector): "
740  << detId.wheel() << ", "
741  << detId.station() << ", "
742  << detId.sector();
743  }
744  break;
745  case MuonSubdetId::CSC:
746  {
747  CSCDetId detId(id.rawId());
748  oss << "CSC chamber (endcap, station, ring, chamber, layer): "
749  << detId.endcap() << ", "
750  << detId.station() << ", "
751  << detId.ring() << ", "
752  << detId.chamber() << ", "
753  << detId.layer();
754  }
755  break;
756  case MuonSubdetId::RPC:
757  {
758  RPCDetId detId(id.rawId());
759  oss << "RPC chamber ";
760  switch ( detId.region() ) {
761  case 0:
762  oss << "/ barrel / (wheel, station, sector, layer, subsector, roll): "
763  << detId.ring() << ", "
764  << detId.station() << ", "
765  << detId.sector() << ", "
766  << detId.layer() << ", "
767  << detId.subsector() << ", "
768  << detId.roll();
769  break;
770  case 1:
771  oss << "/ forward endcap / (wheel, station, sector, layer, subsector, roll): "
772  << detId.ring() << ", "
773  << detId.station() << ", "
774  << detId.sector() << ", "
775  << detId.layer() << ", "
776  << detId.subsector() << ", "
777  << detId.roll();
778  break;
779  case -1:
780  oss << "/ backward endcap / (wheel, station, sector, layer, subsector, roll): "
781  << detId.ring() << ", "
782  << detId.station() << ", "
783  << detId.sector() << ", "
784  << detId.layer() << ", "
785  << detId.subsector() << ", "
786  << detId.roll();
787  break;
788  }
789  }
790  break;
791  case MuonSubdetId::GEM:
792  {
793  GEMDetId detId(id.rawId());
794  oss << "GEM chamber (region, station, ring, chamber, layer): "
795  << detId.region() << ", "
796  << detId.station() << ", "
797  << detId.ring() << ", "
798  << detId.chamber() << ", "
799  << detId.layer();
800  }
801  break;
802  case MuonSubdetId::ME0:
803  {
804  ME0DetId detId(id.rawId());
805  oss << "ME0 chamber (region, chamber, layer): "
806  << detId.region() << ", "
807  << detId.chamber() << ", "
808  << detId.layer();
809  }
810  break;
811  }
812  break;
813 
814  case DetId::Calo:
815  {
816  CaloTowerDetId detId( id.rawId() );
817  oss << "CaloTower (ieta, iphi): "
818  << detId.ieta() << ", "
819  << detId.iphi();
820  }
821  break;
822 
823  case DetId::Ecal:
824  switch ( id.subdetId() ) {
825  case EcalBarrel:
826  {
827  EBDetId detId(id);
828  oss << "EcalBarrel (ieta, iphi, tower_ieta, tower_iphi): "
829  << detId.ieta() << ", "
830  << detId.iphi() << ", "
831  << detId.tower_ieta() << ", "
832  << detId.tower_iphi();
833  }
834  break;
835  case EcalEndcap:
836  {
837  EEDetId detId(id);
838  oss << "EcalEndcap (ix, iy, SuperCrystal, crystal, quadrant): "
839  << detId.ix() << ", "
840  << detId.iy() << ", "
841  << detId.isc() << ", "
842  << detId.ic() << ", "
843  << detId.iquadrant();
844  }
845  break;
846  case EcalPreshower:
847  oss << "EcalPreshower";
848  break;
849  case EcalTriggerTower:
850  oss << "EcalTriggerTower";
851  break;
852  case EcalLaserPnDiode:
853  oss << "EcalLaserPnDiode";
854  break;
855  }
856  break;
857 
858  case DetId::Hcal:
859  {
860  HcalDetId detId(id);
861  switch ( detId.subdet() ) {
862  case HcalEmpty:
863  oss << "HcalEmpty ";
864  break;
865  case HcalBarrel:
866  oss << "HcalBarrel ";
867  break;
868  case HcalEndcap:
869  oss << "HcalEndcap ";
870  break;
871  case HcalOuter:
872  oss << "HcalOuter ";
873  break;
874  case HcalForward:
875  oss << "HcalForward ";
876  break;
877  case HcalTriggerTower:
878  oss << "HcalTriggerTower ";
879  break;
880  case HcalOther:
881  oss << "HcalOther ";
882  break;
883  }
884  oss << "(ieta, iphi, depth):"
885  << detId.ieta() << ", "
886  << detId.iphi() << ", "
887  << detId.depth();
888  }
889  break;
890  default :;
891  }
892  return oss.str();
893 }
unsigned int layer() const
layer id
Definition: TOBDetId.h:39
static const int GEM
Definition: MuonSubdetId.h:15
unsigned int layer() const
layer id
Definition: PXBDetId.h:35
static const int ME0
Definition: MuonSubdetId.h:16
static const int CSC
Definition: MuonSubdetId.h:13
unsigned int wheel() const
wheel id
Definition: TECDetId.h:52
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
static const int RPC
Definition: MuonSubdetId.h:14
static const int DT
Definition: MuonSubdetId.h:12
unsigned int wheel() const
wheel id
Definition: TIDDetId.h:50
std::string fireworks::info ( const std::set< DetId > &  idSet)

Definition at line 896 of file TrackUtils.cc.

References info(), AlCaHLTBitMon_QueryRunRegistry::string, and runonSM::text.

896  {
898  for(std::set<DetId>::const_iterator id = idSet.begin(), idEnd = idSet.end(); id != idEnd; ++id)
899  {
900  text += info(*id);
901  text += "\n";
902  }
903  return text;
904 }
static const TGPicture * info(bool iBackgroundIsBlack)
tuple text
Definition: runonSM.py:42
std::string fireworks::info ( const std::vector< DetId > &  idSet)

Definition at line 907 of file TrackUtils.cc.

References info(), AlCaHLTBitMon_QueryRunRegistry::string, and runonSM::text.

907  {
909  for(std::vector<DetId>::const_iterator id = idSet.begin(), idEnd = idSet.end(); id != idEnd; ++id)
910  {
911  text += info(*id);
912  text += "\n";
913  }
914  return text;
915 }
static const TGPicture * info(bool iBackgroundIsBlack)
tuple text
Definition: runonSM.py:42
void fireworks::invertBox ( std::vector< float > &  corners)

Definition at line 129 of file BuilderUtils.cc.

References std::swap().

Referenced by energyScaledBox3DCorners(), etScaledBox3DCorners(), and FWCaloRecHitDigitSetProxyBuilder::viewContextBoxScale().

130  {
131  std::swap( corners[0], corners[9] );
132  std::swap( corners[1], corners[10] );
133  std::swap( corners[2], corners[11] );
134 
135  std::swap( corners[3], corners[6] );
136  std::swap( corners[4], corners[7] );
137  std::swap( corners[5], corners[8] );
138 
139  std::swap( corners[12], corners[21] );
140  std::swap( corners[13], corners[22] );
141  std::swap( corners[14], corners[23] );
142 
143  std::swap( corners[15], corners[18] );
144  std::swap( corners[16], corners[19] );
145  std::swap( corners[17], corners[20] );
146  }
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
const TGGC & fireworks::italicGC ( )

Definition at line 53 of file GlobalContexts.cc.

References edmIntegrityCheck::pool.

Referenced by FWPSetTableManager::cellRenderer().

54 {
55  static TGGC s_italicGC(*gClient->GetResourcePool()->GetFrameGC());
56 
57  TGFontPool *pool = gClient->GetFontPool();
58  TGFont *font = pool->FindFontByHandle(s_italicGC.GetFont());
59  FontAttributes_t attributes = font->GetFontAttributes();
60 
61  attributes.fSlant = 1;
62  TGFont *newFont = pool->GetFont(attributes.fFamily, 9,
63  attributes.fWeight, attributes.fSlant);
64 
65  s_italicGC.SetFont(newFont->GetFontHandle());
66 
67  return s_italicGC;
68 }
void fireworks::localSiStrip ( short  strip,
float *  localTop,
float *  localBottom,
const float *  pars,
unsigned int  id 
)

Definition at line 297 of file TrackUtils.cc.

References delta, fwLog, fwlog::kError, hltrates_dqm_sourceclient-live_cfg::offset, funct::tan(), and ecaldqm::topology().

Referenced by addSiStripClusters(), FWSiStripClusterProxyBuilder::build(), FWSiStripDigiProxyBuilder::build(), and FWTrajectorySeedProxyBuilder::build().

298 {
299  Float_t topology = pars[0];
300  Float_t halfStripLength = pars[2] * 0.5;
301 
302  Double_t localCenter[3] = { 0.0, 0.0, 0.0 };
303  localTop[1] = halfStripLength;
304  localBottom[1] = -halfStripLength;
305 
306  if( topology == 1 ) // RadialStripTopology
307  {
308  // stripAngle = phiOfOneEdge + strip * angularWidth
309  // localY = originToIntersection * tan( stripAngle )
310  Float_t stripAngle = tan( pars[5] + strip * pars[6] );
311  Float_t delta = halfStripLength * stripAngle;
312  localCenter[0] = pars[4] * stripAngle;
313  localTop[0] = localCenter[0] + delta;
314  localBottom[0] = localCenter[0] - delta;
315  }
316  else if( topology == 2 ) // RectangularStripTopology
317  {
318  // offset = -numberOfStrips/2. * pitch
319  // localY = strip * pitch + offset
320  Float_t offset = -pars[1] * 0.5 * pars[3];
321  localCenter[0] = strip * pars[3] + offset;
322  localTop[0] = localCenter[0];
323  localBottom[0] = localCenter[0];
324  }
325  else if( topology == 3 ) // TrapezoidalStripTopology
326  {
328  << "did not expect TrapezoidalStripTopology of "
329  << id << std::endl;
330  }
331  else if( pars[0] == 0 ) // StripTopology
332  {
334  << "did not find StripTopology of "
335  << id << std::endl;
336  }
337 }
dbl * delta
Definition: mlp_gen.cc:36
CaloTopology const * topology(0)
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
#define fwLog(_level_)
Definition: fwLog.h:50
TEveJetCone * fireworks::makeEveJetCone ( const reco::Jet iData,
const fireworks::Context context 
)

Definition at line 7 of file makeEveJetCone.cc.

References EnergyCorrector::c, fireworks::Context::caloMaxEta(), fireworks::Context::caloR1(), fireworks::Context::caloR2(), fireworks::Context::caloTransAngle(), fireworks::Context::caloZ1(), fireworks::Context::caloZ2(), reco::LeafCandidate::eta(), reco::Jet::etaetaMoment(), reco::Jet::getJetConstituents(), metsig::jet, reco::LeafCandidate::phi(), reco::Jet::phiphiMoment(), mathSSE::sqrt(), funct::tan(), and reco::LeafCandidate::vertex().

Referenced by FWTauProxyBuilderBase::buildBaseTau(), and FWJetProxyBuilder::requestCommon().

8 {
9  TEveJetCone* jet = new TEveJetCone();
10  jet->SetApex(TEveVector(iData.vertex().x(),iData.vertex().y(),iData.vertex().z()));
11 
13  bool haveData = true;
14  for ( reco::Jet::Constituents::const_iterator itr = c.begin(); itr != c.end(); ++itr )
15  {
16  if ( !itr->isAvailable() ) {
17  haveData = false;
18  break;
19  }
20  }
21 
22  double eta_size = 0.2;
23  double phi_size = 0.2;
24  if ( haveData ){
25  eta_size = sqrt(iData.etaetaMoment());
26  phi_size = sqrt(iData.phiphiMoment());
27  }
28 
29  static const float offr = 5;
30  static const float offz = offr/tan(context.caloTransAngle());
31  if (iData.eta() < context.caloMaxEta())
32  jet->SetCylinder(context.caloR1(false) -offr, context.caloZ1(false)-offz);
33  else
34  jet->SetCylinder(context.caloR2(false) -offr, context.caloZ2(false)-offz);
35 
36 
37  jet-> AddEllipticCone(iData.eta(), iData.phi(), eta_size, phi_size);
38  jet->SetPickable(kTRUE);
39  return jet;
40 }
static float caloTransAngle()
Definition: Context.cc:233
virtual const Point & vertex() const
vertex position (overwritten by PF...)
static float caloZ2(bool offset=true)
Definition: Context.cc:223
virtual double phi() const final
momentum azimuthal angle
std::vector< Constituent > Constituents
Definition: Jet.h:23
float etaetaMoment() const
eta-eta second moment, ET weighted
virtual Constituents getJetConstituents() const
list of constituents
static float caloR2(bool offset=true)
Definition: Context.cc:213
T sqrt(T t)
Definition: SSEVec.h:18
static float caloR1(bool offset=true)
Definition: Context.cc:208
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
float phiphiMoment() const
phi-phi second moment, ET weighted
static double caloMaxEta()
Definition: Context.cc:238
static float caloZ1(bool offset=true)
Definition: Context.cc:218
virtual double eta() const final
momentum pseudorapidity
bool fireworks::makeRhoPhiSuperCluster ( FWProxyBuilderBase pb,
const reco::SuperClusterRef iCluster,
float  iPhi,
TEveElement &  oItemHolder 
)

Definition at line 28 of file makeSuperCluster.cc.

References fireworks::Context::caloR1(), FWDisplayProperties::color(), FWProxyBuilderBase::context(), FWEventItem::defaultDisplayProperties(), end, FWGeometry::getCorners(), fireworks::Context::getGeom(), getPhiRange(), getShape(), i, edm::Ref< C, T, F >::isAvailable(), FWProxyBuilderBase::item(), M_PI, colinearityKinematic::Phi, alignCSCRings::r, and FWProxyBuilderBase::setupAddElement().

Referenced by FWPhotonProxyBuilder::buildViewType(), and FWElectronProxyBuilder::buildViewType().

32 {
33  if( !iCluster.isAvailable()) return false;
34  TEveGeoManagerHolder gmgr( TEveGeoShape::GetGeoMangeur());
35 
36  std::vector< std::pair<DetId, float> > detids = iCluster->hitsAndFractions();
37  if (detids.empty()) return false;
38  std::vector<double> phis;
39  for( std::vector<std::pair<DetId, float> >::const_iterator id = detids.begin(), end = detids.end(); id != end; ++id )
40  {
41  const float* corners = pb->context().getGeom()->getCorners( id->first.rawId());
42  if( corners != 0 )
43  {
44  std::vector<float> centre( 3, 0 );
45 
46  for( unsigned int i = 0; i < 24; i += 3 )
47  {
48  centre[0] += corners[i];
49  centre[1] += corners[i + 1];
50  centre[2] += corners[i + 2];
51  }
52 
53  phis.push_back( TEveVector( centre[0], centre[1], centre[2] ).Phi());
54  }
55  }
56  std::pair<double,double> phiRange = fireworks::getPhiRange( phis, iPhi );
57  const double r = pb->context().caloR1();
58  TGeoBBox *sc_box = new TGeoTubeSeg( r - 2, r , 1,
59  phiRange.first * 180 / M_PI - 0.5,
60  phiRange.second * 180 / M_PI + 0.5 ); // 0.5 is roughly half size of a crystal
61  TEveGeoShape *sc = fireworks::getShape( "supercluster", sc_box, pb->item()->defaultDisplayProperties().color());
62  sc->SetPickable( kTRUE );
63  pb->setupAddElement( sc, &oItemHolder );
64  return true;
65 }
bool isAvailable() const
Definition: Ref.h:576
const fireworks::Context & context() const
int i
Definition: DBlmapReader.cc:9
const FWDisplayProperties & defaultDisplayProperties() const
Definition: FWEventItem.cc:453
std::pair< double, double > getPhiRange(const std::vector< double > &phis, double phi)
Definition: BuilderUtils.cc:21
const FWGeometry * getGeom() const
Definition: Context.h:83
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
const FWEventItem * item() const
Color_t color() const
static float caloR1(bool offset=true)
Definition: Context.cc:208
#define end
Definition: vmac.h:37
#define M_PI
const float * getCorners(unsigned int id) const
Definition: FWGeometry.cc:280
TEveGeoShape * getShape(const char *name, TGeoBBox *shape, Color_t color)
Definition: BuilderUtils.cc:42
bool fireworks::makeRhoZSuperCluster ( FWProxyBuilderBase pb,
const reco::SuperClusterRef iCluster,
float  iPhi,
TEveElement &  oItemHolder 
)

Definition at line 67 of file makeSuperCluster.cc.

References addRhoZEnergyProjection(), Reference_intrackfit_cff::barrel, fireworks::Context::caloR1(), fireworks::Context::caloR2(), fireworks::Context::caloTransAngle(), fireworks::Context::caloZ1(), fireworks::Context::caloZ2(), FWProxyBuilderBase::context(), end, FWGeometry::getCorners(), fireworks::Context::getGeom(), i, edm::Ref< C, T, F >::isAvailable(), Pi, and theta().

Referenced by FWPhotonProxyBuilder::buildViewType(), and FWElectronProxyBuilder::buildViewType().

71 {
72  if( !iCluster.isAvailable()) return false;
73  TEveGeoManagerHolder gmgr( TEveGeoShape::GetGeoMangeur());
74  double theta_max = 0;
75  double theta_min = 10;
76  std::vector<std::pair<DetId, float> > detids = iCluster->hitsAndFractions();
77  if (detids.empty()) return false;
78  for( std::vector<std::pair<DetId, float> >::const_iterator id = detids.begin(), end = detids.end(); id != end; ++id )
79  {
80  const float* corners = pb->context().getGeom()->getCorners( id->first.rawId());
81  if( corners != 0 )
82  {
83  std::vector<float> centre( 3, 0 );
84 
85  for( unsigned int i = 0; i < 24; i += 3 )
86  {
87  centre[0] += corners[i];
88  centre[1] += corners[i + 1];
89  centre[2] += corners[i + 2];
90  }
91 
92  double theta = TEveVector( centre[0], centre[1], centre[2] ).Theta();
93  if( theta > theta_max ) theta_max = theta;
94  if( theta < theta_min ) theta_min = theta;
95  }
96  }
97  // expand theta range by the size of a crystal to avoid segments of zero length
98  bool barrel = true;
99  if ((theta_max > 0 && theta_max < pb->context().caloTransAngle()) ||
100  ( theta_min > (TMath::Pi() -pb->context().caloTransAngle())) )
101  {
102  barrel = false;
103  }
104 
105  double z_ecal = barrel ? pb->context().caloZ1() : pb->context().caloZ2();
106  double r_ecal = barrel ? pb->context().caloR1() : pb->context().caloR2();
107 
108  fireworks::addRhoZEnergyProjection( pb, &oItemHolder, r_ecal-1, z_ecal-1,
109  theta_min - 0.003, theta_max + 0.003,
110  iPhi );
111 
112  return true;
113 }
bool isAvailable() const
Definition: Ref.h:576
const double Pi
const fireworks::Context & context() const
int i
Definition: DBlmapReader.cc:9
static float caloTransAngle()
Definition: Context.cc:233
const FWGeometry * getGeom() const
Definition: Context.h:83
Geom::Theta< T > theta() const
static float caloZ2(bool offset=true)
Definition: Context.cc:223
static float caloR2(bool offset=true)
Definition: Context.cc:213
static float caloR1(bool offset=true)
Definition: Context.cc:208
#define end
Definition: vmac.h:37
void addRhoZEnergyProjection(FWProxyBuilderBase *, TEveElement *, double r_ecal, double z_ecal, double theta_min, double theta_max, double phi)
Definition: BuilderUtils.cc:60
const float * getCorners(unsigned int id) const
Definition: FWGeometry.cc:280
static float caloZ1(bool offset=true)
Definition: Context.cc:218
float fireworks::pixelLocalX ( const double  mpx,
const int  m_nrows 
)

Definition at line 170 of file TrackUtils.cc.

References BIG_PIX_PER_ROC_X, PITCHX, and ROWS_PER_ROC.

Referenced by FWSiPixelDigiProxyBuilder::build(), FWSiPixelClusterProxyBuilder::build(), FWTrajectorySeedProxyBuilder::build(), pushPixelCluster(), and ValidateGeometry::validatePixelTopology().

171 {
172  // Calculate the edge of the active sensor with respect to the center,
173  // that is simply the half-size.
174  // Take into account large pixels
175  const double xoffset = -( nrows + BIG_PIX_PER_ROC_X * nrows / ROWS_PER_ROC ) / 2. * PITCHX;
176 
177  // Measurement to local transformation for X coordinate
178  // X coordinate is in the ROC row number direction
179  // Copy from RectangularPixelTopology::localX implementation
180  int binoffx = int(mpx); // truncate to int
181  double fractionX = mpx - binoffx; // find the fraction
182  double local_PITCHX = PITCHX; // defaultpitch
183  if( binoffx > 80 ) { // ROC 1 - handles x on edge cluster
184  binoffx = binoffx + 2;
185  } else if( binoffx == 80 ) { // ROC 1
186  binoffx = binoffx+1;
187  local_PITCHX = 2 * PITCHX;
188  } else if( binoffx == 79 ) { // ROC 0
189  binoffx = binoffx + 0;
190  local_PITCHX = 2 * PITCHX;
191  } else if( binoffx >= 0 ) { // ROC 0
192  binoffx = binoffx + 0;
193  }
194 
195  // The final position in local coordinates
196  double lpX = double( binoffx * PITCHX ) + fractionX * local_PITCHX + xoffset;
197 
198  return lpX;
199 }
static const int ROWS_PER_ROC
Definition: TrackUtils.cc:68
static const double PITCHX
Definition: TrackUtils.cc:64
static const int BIG_PIX_PER_ROC_X
Definition: TrackUtils.cc:69
float fireworks::pixelLocalY ( const double  mpy,
const int  m_ncols 
)

Definition at line 203 of file TrackUtils.cc.

References BIG_PIX_PER_ROC_Y, COLS_PER_ROC, and PITCHY.

Referenced by FWSiPixelDigiProxyBuilder::build(), FWSiPixelClusterProxyBuilder::build(), FWTrajectorySeedProxyBuilder::build(), pushPixelCluster(), and ValidateGeometry::validatePixelTopology().

204 {
205  // Calculate the edge of the active sensor with respect to the center,
206  // that is simply the half-size.
207  // Take into account large pixels
208  double yoffset = -( ncols + BIG_PIX_PER_ROC_Y * ncols / COLS_PER_ROC ) / 2. * PITCHY;
209 
210  // Measurement to local transformation for Y coordinate
211  // Y is in the ROC column number direction
212  // Copy from RectangularPixelTopology::localY implementation
213  int binoffy = int( mpy ); // truncate to int
214  double fractionY = mpy - binoffy; // find the fraction
215  double local_PITCHY = PITCHY; // defaultpitch
216 
217  if( binoffy>416 ) { // ROC 8, not real ROC
218  binoffy = binoffy+17;
219  } else if( binoffy == 416 ) { // ROC 8
220  binoffy = binoffy + 16;
221  local_PITCHY = 2 * PITCHY;
222  } else if( binoffy == 415 ) { // ROC 7, last big pixel
223  binoffy = binoffy + 15;
224  local_PITCHY = 2 * PITCHY;
225  } else if( binoffy > 364 ) { // ROC 7
226  binoffy = binoffy + 15;
227  } else if( binoffy == 364 ) { // ROC 7
228  binoffy = binoffy + 14;
229  local_PITCHY = 2 * PITCHY;
230  } else if( binoffy == 363 ) { // ROC 6
231  binoffy = binoffy + 13;
232  local_PITCHY = 2 * PITCHY;
233  } else if( binoffy > 312 ) { // ROC 6
234  binoffy = binoffy + 13;
235  } else if( binoffy == 312 ) { // ROC 6
236  binoffy = binoffy + 12;
237  local_PITCHY = 2 * PITCHY;
238  } else if( binoffy == 311 ) { // ROC 5
239  binoffy = binoffy + 11;
240  local_PITCHY = 2 * PITCHY;
241  } else if( binoffy > 260 ) { // ROC 5
242  binoffy = binoffy + 11;
243  } else if( binoffy == 260 ) { // ROC 5
244  binoffy = binoffy + 10;
245  local_PITCHY = 2 * PITCHY;
246  } else if( binoffy == 259 ) { // ROC 4
247  binoffy = binoffy + 9;
248  local_PITCHY = 2 * PITCHY;
249  } else if( binoffy > 208 ) { // ROC 4
250  binoffy = binoffy + 9;
251  } else if(binoffy == 208 ) { // ROC 4
252  binoffy = binoffy + 8;
253  local_PITCHY = 2 * PITCHY;
254  } else if( binoffy == 207 ) { // ROC 3
255  binoffy = binoffy + 7;
256  local_PITCHY = 2 * PITCHY;
257  } else if( binoffy > 156 ) { // ROC 3
258  binoffy = binoffy + 7;
259  } else if( binoffy == 156 ) { // ROC 3
260  binoffy = binoffy + 6;
261  local_PITCHY = 2 * PITCHY;
262  } else if( binoffy == 155 ) { // ROC 2
263  binoffy = binoffy + 5;
264  local_PITCHY = 2 * PITCHY;
265  } else if( binoffy > 104 ) { // ROC 2
266  binoffy = binoffy + 5;
267  } else if( binoffy == 104 ) { // ROC 2
268  binoffy = binoffy + 4;
269  local_PITCHY = 2 * PITCHY;
270  } else if( binoffy == 103 ) { // ROC 1
271  binoffy = binoffy + 3;
272  local_PITCHY = 2 * PITCHY;
273  } else if( binoffy > 52 ) { // ROC 1
274  binoffy = binoffy + 3;
275  } else if( binoffy == 52 ) { // ROC 1
276  binoffy = binoffy + 2;
277  local_PITCHY = 2 * PITCHY;
278  } else if( binoffy == 51 ) { // ROC 0
279  binoffy = binoffy + 1;
280  local_PITCHY = 2 * PITCHY;
281  } else if( binoffy > 0 ) { // ROC 0
282  binoffy=binoffy + 1;
283  } else if( binoffy == 0 ) { // ROC 0
284  binoffy = binoffy + 0;
285  local_PITCHY = 2 * PITCHY;
286  }
287 
288  // The final position in local coordinates
289  double lpY = double( binoffy * PITCHY ) + fractionY * local_PITCHY + yoffset;
290 
291  return lpY;
292 }
static const int COLS_PER_ROC
Definition: TrackUtils.cc:67
static const int BIG_PIX_PER_ROC_Y
Definition: TrackUtils.cc:66
static const double PITCHY
Definition: TrackUtils.cc:65
TEveTrack * fireworks::prepareCandidate ( const reco::Candidate track,
TEveTrackPropagator *  propagator 
)

Definition at line 10 of file CandidateUtils.cc.

References reco::Candidate::charge(), reco::Candidate::px(), reco::Candidate::py(), reco::Candidate::pz(), lumiQTWidget::t, and reco::Candidate::vertex().

Referenced by FWElectronLegoProxyBuilder::build(), FWCandidatePtrProxyBuilder::build(), FWSecVertexCandidateProxyBuilder::build(), FWGenParticleProxyBuilder::build(), FWCandidateProxyBuilder::build(), FWVertexCandidateProxyBuilder::build(), FWMuonBuilder::buildMuon(), and FWElectronProxyBuilder::requestCommon().

12 {
13  TEveRecTrack t;
14  t.fBeta = 1.;
15  t.fP = TEveVector( track.px(), track.py(), track.pz() );
16  t.fV = TEveVector( track.vertex().x(), track.vertex().y(), track.vertex().z() );
17  t.fSign = track.charge();
18  TEveTrack* trk = new TEveTrack(&t, propagator);
19  return trk;
20 }
virtual double pz() const =0
z coordinate of momentum vector
virtual const Point & vertex() const =0
vertex position
virtual int charge() const =0
electric charge
virtual double py() const =0
y coordinate of momentum vector
virtual double px() const =0
x coordinate of momentum vector
TEveTrack * fireworks::prepareTrack ( const reco::Track track,
TEveTrackPropagator *  propagator,
const std::vector< TEveVector > &  extraRefPoints = std::vector<TEveVector>() 
)

Definition at line 75 of file TrackUtils.cc.

References assert(), reco::TrackBase::charge(), reco::Track::extra(), f, i, reco::Track::innerMomentum(), reco::Track::innerOk(), reco::Track::innerPosition(), edm::Ref< C, T, F >::isAvailable(), j, reco::Track::outerMomentum(), reco::Track::outerOk(), reco::Track::outerPosition(), AlCaHLTBitMon_ParallelJobs::p, point, position, reco::TrackBase::pt(), reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), lumiQTWidget::t, reco::btau::trackMomentum, findQualityFiles::v, reco::TrackBase::vx(), reco::TrackBase::vy(), and reco::TrackBase::vz().

Referenced by FWTauProxyBuilderBase::addConstituentTracks(), FWTauProxyBuilderBase::addLeadTrack(), DummyEvelyser::analyze(), FWElectronLegoProxyBuilder::build(), FWTrackProxyBuilder::build(), FWTrackHitsDetailView::build(), FWConvTrackHitsDetailView::build(), FWMuonBuilder::buildMuon(), and FWElectronProxyBuilder::requestCommon().

78 {
79  // To make use of all available information, we have to order states
80  // properly first. Propagator should take care of y=0 transition.
81 
82  std::vector<State> refStates;
83  TEveVector trackMomentum(track.px(), track.py(), track.pz());
84  refStates.push_back(State(TEveVector(track.vx(), track.vy(), track.vz()),
85  trackMomentum));
86  if( track.extra().isAvailable() ) {
87  if (track.innerOk()) {
88  const reco::TrackBase::Point &v = track.innerPosition();
89  const reco::TrackBase::Vector &p = track.innerMomentum();
90  refStates.push_back(State(TEveVector(v.x(), v.y(), v.z()), TEveVector(p.x(), p.y(), p.z())));
91  }
92  if (track.outerOk()) {
93  const reco::TrackBase::Point &v = track.outerPosition();
94  const reco::TrackBase::Vector &p = track.outerMomentum();
95  refStates.push_back(State(TEveVector(v.x(), v.y(), v.z()), TEveVector(p.x(), p.y(), p.z())));
96  }
97  }
98  for( std::vector<TEveVector>::const_iterator point = extraRefPoints.begin(), pointEnd = extraRefPoints.end();
99  point != pointEnd; ++point )
100  refStates.push_back(State(*point));
101  if( track.pt()>1 )
102  std::sort( refStates.begin(), refStates.end(), StateOrdering(trackMomentum) );
103 
104  // * if the first state has non-zero momentum use it as a starting point
105  // and all other points as PathMarks to follow
106  // * if the first state has only position, try the last state. If it has
107  // momentum we propagate backword, if not, we look for the first one
108  // on left that has momentum and ignore all earlier.
109  //
110 
111  TEveRecTrack t;
112  t.fBeta = 1.;
113  t.fSign = track.charge();
114 
115  if( refStates.front().valid ) {
116  t.fV = refStates.front().position;
117  t.fP = refStates.front().momentum;
118  TEveTrack* trk = new TEveTrack( &t, propagator );
119  for( unsigned int i(1); i<refStates.size()-1; ++i) {
120  if( refStates[i].valid )
121  trk->AddPathMark( TEvePathMark( TEvePathMark::kReference, refStates[i].position, refStates[i].momentum ) );
122  else
123  trk->AddPathMark( TEvePathMark( TEvePathMark::kDaughter, refStates[i].position ) );
124  }
125  if( refStates.size()>1 ) {
126  trk->AddPathMark( TEvePathMark( TEvePathMark::kDecay, refStates.back().position ) );
127  }
128  return trk;
129  }
130 
131  if( refStates.back().valid ) {
132  t.fSign = (-1)*track.charge();
133  t.fV = refStates.back().position;
134  t.fP = refStates.back().momentum * (-1.0f);
135  TEveTrack* trk = new TEveTrack( &t, propagator );
136  unsigned int i( refStates.size()-1 );
137  for(; i>0; --i) {
138  if ( refStates[i].valid )
139  trk->AddPathMark( TEvePathMark( TEvePathMark::kReference, refStates[i].position, refStates[i].momentum*(-1.0f) ) );
140  else
141  trk->AddPathMark( TEvePathMark( TEvePathMark::kDaughter, refStates[i].position ) );
142  }
143  if ( refStates.size()>1 ) {
144  trk->AddPathMark( TEvePathMark( TEvePathMark::kDecay, refStates.front().position ) );
145  }
146  return trk;
147  }
148 
149  unsigned int i(0);
150  while( i<refStates.size() && !refStates[i].valid ) ++i;
151  assert( i < refStates.size() );
152 
153  t.fV = refStates[i].position;
154  t.fP = refStates[i].momentum;
155  TEveTrack* trk = new TEveTrack( &t, propagator );
156  for( unsigned int j(i+1); j<refStates.size()-1; ++j ) {
157  if( refStates[i].valid )
158  trk->AddPathMark( TEvePathMark( TEvePathMark::kReference, refStates[i].position, refStates[i].momentum ) );
159  else
160  trk->AddPathMark( TEvePathMark( TEvePathMark::kDaughter, refStates[i].position ) );
161  }
162  if ( i < refStates.size() ) {
163  trk->AddPathMark( TEvePathMark( TEvePathMark::kDecay, refStates.back().position ) );
164  }
165  return trk;
166 }
bool isAvailable() const
Definition: Ref.h:576
int i
Definition: DBlmapReader.cc:9
const TrackExtraRef & extra() const
reference to &quot;extra&quot; object
Definition: Track.h:189
assert(m_qm.get())
bool innerOk() const
return true if the innermost hit is valid
Definition: Track.h:50
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:622
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:65
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:55
double pt() const
track transverse momentum
Definition: TrackBase.h:616
int j
Definition: DBlmapReader.cc:9
double f[11][100]
math::XYZPoint Point
point in the space
Definition: TrackBase.h:83
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:634
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:664
const math::XYZVector & outerMomentum() const
momentum vector at the outermost hit position
Definition: Track.h:70
bool outerOk() const
return true if the outermost hit is valid
Definition: Track.h:45
double vy() const
y coordinate of the reference point on track
Definition: TrackBase.h:658
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
Definition: Track.h:60
static int position[264][3]
Definition: ReadPGInfo.cc:509
State
Definition: hltDiff.cc:286
int charge() const
track electric charge
Definition: TrackBase.h:562
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:628
double vx() const
x coordinate of the reference point on track
Definition: TrackBase.h:652
void fireworks::pushNearbyPixelHits ( std::vector< TVector3 > &  pixelPoints,
const FWEventItem iItem,
const reco::Track t 
)

Definition at line 553 of file TrackUtils.cc.

References edmNew::DetSet< T >::begin(), SiPixelRecHit::cluster(), FWGeometry::contains(), edmNew::DetSet< T >::end(), edmNew::DetSetVector< T >::end(), edmNew::DetSetVector< T >::find(), fwLog, relativeConstraints::geom, edm::EventBase::get(), FWEventItem::getEvent(), FWEventItem::getGeom(), FWGeometry::getParameters(), edm::Ref< C, T, F >::id(), edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), fwlog::kError, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, edm::Handle< T >::product(), pushPixelCluster(), reco::Track::recHitsBegin(), and reco::Track::recHitsEnd().

Referenced by FWTrackHitsDetailView::addHits(), and FWConvTrackHitsDetailView::addHits().

554 {
555  const edmNew::DetSetVector<SiPixelCluster> * allClusters = 0;
556  for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it)
557  {
558  if( typeid(**it) == typeid( SiPixelRecHit ))
559  {
560  const SiPixelRecHit &hit = static_cast<const SiPixelRecHit &>(**it);
561  if( hit.cluster().isNonnull() && hit.cluster().isAvailable())
562  {
564  iItem.getEvent()->get(hit.cluster().id(), allClustersHandle);
565  allClusters = allClustersHandle.product();
566  break;
567  }
568  }
569  }
570  if( allClusters == 0 ) return;
571 
572  const FWGeometry *geom = iItem.getGeom();
573 
574  for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it )
575  {
576  const TrackingRecHit* rh = &(**it);
577 
578  DetId id = (*it)->geographicalId();
579  if( ! geom->contains( id ))
580  {
582  << "failed to get geometry of Tracker Det with raw id: "
583  << id.rawId() << std::endl;
584 
585  continue;
586  }
587 
588  // -- in which detector are we?
589  unsigned int subdet = (unsigned int)id.subdetId();
590  if(( subdet != PixelSubdetector::PixelBarrel ) && ( subdet != PixelSubdetector::PixelEndcap )) continue;
591 
592  const SiPixelCluster* hitCluster = 0;
593  if( const SiPixelRecHit* pixel = dynamic_cast<const SiPixelRecHit*>( rh ))
594  hitCluster = pixel->cluster().get();
595  edmNew::DetSetVector<SiPixelCluster>::const_iterator itds = allClusters->find(id.rawId());
596  if( itds != allClusters->end())
597  {
598  const edmNew::DetSet<SiPixelCluster> & clustersOnThisDet = *itds;
599  for( edmNew::DetSet<SiPixelCluster>::const_iterator itc = clustersOnThisDet.begin(), edc = clustersOnThisDet.end(); itc != edc; ++itc )
600  {
601  if( &*itc != hitCluster )
602  pushPixelCluster( pixelPoints, *geom, id, *itc, geom->getParameters( id ));
603  }
604  }
605  }
606 }
bool isAvailable() const
Definition: Ref.h:576
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
const float * getParameters(unsigned int id) const
Definition: FWGeometry.cc:296
bool get(ProductID const &, Handle< T > &) const
Definition: EventBase.h:102
data_type const * const_iterator
Definition: DetSetNew.h:30
ProductID id() const
Accessor for product ID.
Definition: Ref.h:258
bool contains(unsigned int id) const
Definition: FWGeometry.h:109
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:104
const edm::EventBase * getEvent() const
Definition: FWEventItem.h:148
Definition: DetId.h:18
T const * product() const
Definition: Handle.h:81
#define fwLog(_level_)
Definition: fwLog.h:50
ClusterRef cluster() const
Definition: SiPixelRecHit.h:49
const_iterator find(id_type i, bool update=false) const
Pixel cluster – collection of neighboring pixels above threshold.
iterator end()
Definition: DetSetNew.h:70
void pushPixelCluster(std::vector< TVector3 > &pixelPoints, const FWGeometry &geom, DetId id, const SiPixelCluster &c, const float *pars)
Definition: TrackUtils.cc:658
const FWGeometry * getGeom() const
Definition: FWEventItem.cc:683
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
Our base class.
Definition: SiPixelRecHit.h:23
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:109
iterator begin()
Definition: DetSetNew.h:67
void fireworks::pushPixelCluster ( std::vector< TVector3 > &  pixelPoints,
const FWGeometry geom,
DetId  id,
const SiPixelCluster c,
const float *  pars 
)

Definition at line 658 of file TrackUtils.cc.

References cuy::col, fwLog, fwlog::kDebug, FWGeometry::localToGlobal(), SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), pixelLocalX(), and pixelLocalY().

Referenced by pushNearbyPixelHits(), and pushPixelHits().

659 {
660  double row = c.minPixelRow();
661  double col = c.minPixelCol();
662  float lx = 0.;
663  float ly = 0.;
664 
665  int nrows = (int)pars[0];
666  int ncols = (int)pars[1];
667  lx = pixelLocalX( row, nrows );
668  ly = pixelLocalY( col, ncols );
669 
671  << ", row: " << row << ", col: " << col
672  << ", lx: " << lx << ", ly: " << ly ;
673 
674  float local[3] = { lx, ly, 0. };
675  float global[3];
676  geom.localToGlobal( id, local, global );
677  TVector3 pb( global[0], global[1], global[2] );
678  pixelPoints.push_back( pb );
679 
681  << " x: " << pb.X()
682  << ", y: " << pb.Y()
683  << " z: " << pb.Z()
684  << " eta: " << pb.Eta()
685  << ", phi: " << pb.Phi()
686  << " rho: " << pb.Pt() << std::endl;
687 }
int minPixelCol() const
float pixelLocalY(const double mpy, const int m_ncols)
Definition: TrackUtils.cc:203
int minPixelRow() const
void localToGlobal(unsigned int id, const float *local, float *global, bool translatep=true) const
Definition: FWGeometry.cc:328
#define fwLog(_level_)
Definition: fwLog.h:50
int col
Definition: cuy.py:1008
float pixelLocalX(const double mpx, const int m_nrows)
Definition: TrackUtils.cc:170
void fireworks::pushPixelHits ( std::vector< TVector3 > &  pixelPoints,
const FWEventItem iItem,
const reco::Track t 
)

Definition at line 611 of file TrackUtils.cc.

References EnergyCorrector::c, FWGeometry::contains(), reco::TrackBase::dz(), reco::TrackBase::eta(), fwLog, relativeConstraints::geom, FWEventItem::getGeom(), FWGeometry::getParameters(), fwlog::kDebug, fwlog::kError, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pushPixelCluster(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), subdets, and reco::TrackBase::vz().

Referenced by FWTrackHitsDetailView::addHits(), FWConvTrackHitsDetailView::addHits(), and FWTracksRecHitsProxyBuilder::build().

612 {
613  /*
614  * -- return for each Pixel Hit a 3D point
615  */
616  const FWGeometry *geom = iItem.getGeom();
617 
618  double dz = t.dz();
619  double vz = t.vz();
620  double etaT = t.eta();
621 
622  fwLog( fwlog::kDebug ) << "Track eta: " << etaT << ", vz: " << vz << ", dz: " << dz
623  << std::endl;
624 
625  int cnt = 0;
626  for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it )
627  {
628  const TrackingRecHit* rh = &(**it);
629  // -- get position of center of wafer, assuming (0,0,0) is the center
630  DetId id = (*it)->geographicalId();
631  if( ! geom->contains( id ))
632  {
634  << "failed to get geometry of Tracker Det with raw id: "
635  << id.rawId() << std::endl;
636 
637  continue;
638  }
639 
640  // -- in which detector are we?
641  unsigned int subdet = (unsigned int)id.subdetId();
642 
643  if(( subdet == PixelSubdetector::PixelBarrel ) || ( subdet == PixelSubdetector::PixelEndcap ))
644  {
645  fwLog( fwlog::kDebug ) << cnt++ << " -- "
646  << subdets[subdet];
647 
648  if( const SiPixelRecHit* pixel = dynamic_cast<const SiPixelRecHit*>( rh ))
649  {
650  const SiPixelCluster& c = *( pixel->cluster());
651  pushPixelCluster( pixelPoints, *geom, id, c, geom->getParameters( id ));
652  }
653  }
654  }
655 }
const float * getParameters(unsigned int id) const
Definition: FWGeometry.cc:296
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:646
bool contains(unsigned int id) const
Definition: FWGeometry.h:109
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:104
char const * subdets[11]
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:604
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:664
Definition: DetId.h:18
#define fwLog(_level_)
Definition: fwLog.h:50
Pixel cluster – collection of neighboring pixels above threshold.
void pushPixelCluster(std::vector< TVector3 > &pixelPoints, const FWGeometry &geom, DetId id, const SiPixelCluster &c, const float *pars)
Definition: TrackUtils.cc:658
const FWGeometry * getGeom() const
Definition: FWEventItem.cc:683
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
Our base class.
Definition: SiPixelRecHit.h:23
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:109
const TGGC & fireworks::redGC ( )

Definition at line 46 of file GlobalContexts.cc.

47 {
48  static TGGC s_redGC(*gClient->GetResourcePool()->GetFrameGC());
49  s_redGC.SetForeground(gVirtualX->GetPixel(kRed-5));
50  return s_redGC;
51 }
void fireworks::setPath ( TString &  v)

Definition at line 15 of file fwPaths.cc.

References fwLog, fwlog::kError, p1, and p2.

Referenced by CmsShowHelpPopup::CmsShowHelpPopup(), main(), CmsShowMainBase::sendVersionInfo(), and CmsShowMainFrame::showFWorksInfo().

16 {
17  if (gSystem->AccessPathName(p1 + v) == kFALSE)
18  {
19  v.Prepend(p1);
20  return;
21  }
22 
23  v.Prepend(p2);
24  if (gSystem->AccessPathName(v))
25  fwLog(fwlog::kError) << "Can't access path " << v << std::endl;
26 }
double p2[4]
Definition: TauolaWrapper.h:90
#define fwLog(_level_)
Definition: fwLog.h:50
double p1[4]
Definition: TauolaWrapper.h:89
void fireworks::setTrackTypePF ( const reco::PFCandidate pfCand,
TAttLine *  track 
)

Definition at line 17 of file setTrackTypePF.cc.

References dt_dqm_sourceclient_common_cff::reco.

Referenced by FWPFCandidateWithHitsProxyBuilder::build(), FWPFPatJetLegoProxyBuilder< T >::build(), FWPFPatJet3DProxyBuilder< T >::build(), FWPFCandidate3DProxyBuilder::build(), and FWPFCandidatesLegoProxyBuilder::build().

18  {
19 
20  using namespace reco;
21 
22  // switch (pfCand.particleId() ) {
23  // case PFCandidate::e: track->SetLineStyle(5); break;
24  // case PFCandidate::mu: track->SetLineStyle(6); break;
25  // case PFCandidate::h0: track->SetLineStyle(3); break;
26  // case PFCandidate::gamma: track->SetLineStyle(7); break;
27  // default: break;
28  // }
29  }
void fireworks::setupAddElement ( TEveElement *  el,
TEveElement *  parent,
const FWEventItem item,
bool  master,
bool  color 
)

Definition at line 342 of file TrackUtils.cc.

References assert(), FWDisplayProperties::color(), FWEventItem::defaultDisplayProperties(), and FWDisplayProperties::transparency().

Referenced by addSiStripClusters(), and FWDTRecHitProxyBuilder::buildViewType().

343 {
344  if (master)
345  {
346  el->CSCTakeAnyParentAsMaster();
347  el->SetPickable(true);
348  }
349 
350  if (color)
351  {
352  el->CSCApplyMainColorToMatchingChildren();
353  el->CSCApplyMainTransparencyToMatchingChildren();
354  el->SetMainColor(item->defaultDisplayProperties().color());
356  && (item->defaultDisplayProperties().transparency() <= 100));
357  el->SetMainTransparency(item->defaultDisplayProperties().transparency());
358  }
359  parent->AddElement(el);
360 }
const FWDisplayProperties & defaultDisplayProperties() const
Definition: FWEventItem.cc:453
assert(m_qm.get())
Color_t color() const
Char_t transparency() const
int * fireworks::supportedDataFormatsVersion ( )

Definition at line 43 of file fwPaths.cc.

References getDecomposedVersion(), and findQualityFiles::v.

Referenced by acceptDataFormatsVersion(), CmsShowSearchFiles::CmsShowSearchFiles(), FWFileEntry::openFile(), and CmsShowSearchFiles::readInfo().

44 {
45  static int mm[] = {0, 0, 0};
46 
47  if (!mm[0]) {
48  TString v;
49  if (gSystem->Getenv("CMSSW_VERSION"))
50  {
51  v = gSystem->Getenv("CMSSW_VERSION");
52 
53  }
54  else
55  {
56  TString versionFileName = gSystem->Getenv("CMSSW_BASE");
57  versionFileName += "/src/Fireworks/Core/data/version.txt";
58  std::ifstream fs(versionFileName);
59  TString infoText;
60  infoText.ReadLine(fs); infoText.ReadLine(fs);
61  fs.close();
62  v = &infoText[13];
63  }
64 
65  getDecomposedVersion(v, &mm[0]);
66  }
67 
68  return &mm[0];
69 }
void getDecomposedVersion(const TString &s, int *out)
Definition: fwPaths.cc:30
fireworks::switch ( id  )
std::vector< std::pair< double, double > > fireworks::thetaBins ( )

Definition at line 48 of file thetaBins.cc.

References create_public_lumi_plots::exp, i, fw3dlego::xbins, and fw3dlego::xbins_n.

Referenced by FWCaloTauProxyBuilder::buildViewType().

49  {
50  const int n_bins = fw3dlego::xbins_n - 1;
51  std::vector<std::pair<double,double> > thetaBins(n_bins);
52  for (int i = 0; i < n_bins; ++i )
53  {
54  thetaBins[i].first = 2*atan( exp(-fw3dlego::xbins[i]) );
55  thetaBins[i].second = 2*atan( exp(-fw3dlego::xbins[i+1]) );
56  }
57  return thetaBins;
58  }
int i
Definition: DBlmapReader.cc:9
const double xbins[]
std::vector< std::pair< double, double > > thetaBins()
Definition: thetaBins.cc:48
const int xbins_n

Variable Documentation

const int fireworks::BIG_PIX_PER_ROC_X = 1
static
const int fireworks::BIG_PIX_PER_ROC_Y = 2
static
const int fireworks::COLS_PER_ROC = 52
static
fireworks::iSize = iSize/2
unsigned int fireworks::lastIdx = iSize -2
const double fireworks::MICRON = 1./1000./10.
static

Definition at line 63 of file TrackUtils.cc.

const TString fireworks::p1 = gSystem->Getenv("CMSSW_BASE") + datadir

Definition at line 12 of file fwPaths.cc.

Referenced by setPath().

const TString fireworks::p2 = gSystem->Getenv("CMSSW_RELEASE_BASE") + datadir

Definition at line 13 of file fwPaths.cc.

Referenced by setPath().

const double fireworks::PITCHX = 100*MICRON
static

Definition at line 64 of file TrackUtils.cc.

Referenced by pixelLocalX().

const double fireworks::PITCHY = 150*MICRON
static

Definition at line 65 of file TrackUtils.cc.

Referenced by pixelLocalY().

const int fireworks::ROWS_PER_ROC = 80
static
const float fireworks::s_forBlack[][3]
static
const float fireworks::s_forWhite[][3]
static

Definition at line 4 of file fwPaletteClassic.cc.

Referenced by FWColorManager::initColorTable().

const unsigned int fireworks::s_size = sizeof(s_forBlack)/sizeof(s_forBlack[0])
static
const std::string fireworks::subdets[7] = { "UNKNOWN", "PXB", "PXF", "TIB", "TID", "TOB", "TEC" }
static

Definition at line 72 of file TrackUtils.cc.

Referenced by pushPixelHits().

fireworks::void