Namespaces | |
namespace | expression |
namespace | geometry |
namespace | table |
Classes | |
class | Context |
struct | jetScaleMarker |
class | OptionNode |
struct | OptionNodePtrCompare |
struct | OptionNodePtrEqual |
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 SiStripCluster * | extractClusterFromTrackingRecHit (const TrackingRecHit *rh) |
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 () |
std::string | info (const std::set< DetId > &) |
std::string | info (const std::vector< DetId > &) |
std::string | info (const 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 () |
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 |
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 std::string | subdets [7] = { "UNKNOWN", "PXB", "PXF", "TIB", "TID", "TOB", "TEC" } |
bool fireworks::acceptDataFormatsVersion | ( | TString & | n | ) |
Definition at line 71 of file fwPaths.cc.
References data, getDecomposedVersion(), and supportedDataFormatsVersion().
Referenced by FWFileEntry::openFile().
{ int data[] = {0, 0, 0}; getDecomposedVersion(processConfigurationVersion, data); int* running = supportedDataFormatsVersion(); if ((data[0] == 6 && running[0] == 5 && running[1] > 1) || (data[0] == 5 && data[1] > 1 && running[0] == 6)) return true; else return data[0] == running[0]; }
void fireworks::addBox | ( | const std::vector< float > & | corners, |
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb | ||
) |
Definition at line 146 of file BuilderUtils.cc.
References FWProxyBuilderBase::setupAddElement().
Referenced by drawEnergyScaledBox3D(), drawEnergyTower3D(), drawEtScaledBox3D(), and drawEtTower3D().
{ TEveBox* eveBox = new TEveBox( "Box" ); eveBox->SetDrawFrame( false ); eveBox->SetPickable( true ); eveBox->SetVertices( &corners[0] ); pb->setupAddElement( eveBox, comp ); }
void fireworks::addCircle | ( | double | eta, |
double | phi, | ||
double | radius, | ||
const unsigned int | nLineSegments, | ||
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb | ||
) |
Definition at line 156 of file BuilderUtils.cc.
References funct::cos(), M_PI, FWProxyBuilderBase::setupAddElement(), and funct::sin().
Referenced by FWL1MuonParticleLegoProxyBuilder::build(), FWL1JetParticleLegoProxyBuilder::build(), FWJetLegoProxyBuilder::build(), FWPFTauProxyBuilder::buildViewType(), FWCaloTauProxyBuilder::buildViewType(), and RoadSearchSeedFinderAlgorithm::calculateCircleSeedsFromHits().
{ TEveStraightLineSet* container = new TEveStraightLineSet; for( unsigned int iphi = 0; iphi < nLineSegments; ++iphi ) { container->AddLine( eta + radius * cos( 2 * M_PI / nLineSegments * iphi ), phi + radius * sin( 2 * M_PI / nLineSegments * iphi ), 0.01, eta + radius * cos( 2 * M_PI / nLineSegments * ( iphi + 1 )), phi + radius * sin( 2 * M_PI / nLineSegments * ( iphi + 1 )), 0.01 ); } pb->setupAddElement( container, comp ); }
void fireworks::addDashedArrow | ( | double | phi, |
double | size, | ||
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb | ||
) |
Definition at line 172 of file BuilderUtils.cc.
References funct::cos(), create_public_lumi_plots::marker, FWProxyBuilderBase::setupAddElement(), and funct::sin().
Referenced by FWL1EtMissParticleGlimpseProxyBuilder::build(), and FWMETGlimpseProxyBuilder::build().
{ TEveScalableStraightLineSet* marker = new TEveScalableStraightLineSet; marker->SetLineWidth( 1 ); marker->SetLineStyle( 2 ); marker->AddLine( 0, 0, 0, size * cos( phi ), size * sin( phi ), 0 ); marker->AddLine( size * 0.9 * cos( phi + 0.03 ), size * 0.9 * sin( phi + 0.03 ), 0, size * cos( phi ), size * sin( phi ), 0 ); marker->AddLine( size * 0.9 * cos( phi - 0.03 ), size * 0.9 * sin( phi - 0.03 ), 0, size * cos( phi ), size * sin( phi ), 0 ); pb->setupAddElement( marker, comp ); }
void fireworks::addDashedLine | ( | double | phi, |
double | theta, | ||
double | size, | ||
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb | ||
) |
Definition at line 183 of file BuilderUtils.cc.
References fireworks::Context::caloR1(), fireworks::Context::caloZ2(), FWProxyBuilderBase::context(), funct::cos(), M_PI, create_public_lumi_plots::marker, alignCSCRings::r, FWProxyBuilderBase::setupAddElement(), and funct::sin().
Referenced by FWL1JetParticleProxyBuilder::build(), FWL1EmParticleProxyBuilder::build(), FWL1MuonParticleProxyBuilder::build(), and FWL1EtMissParticleProxyBuilder::build().
{ double r( 0 ); if( theta < pb->context().caloTransAngle() || M_PI - theta < pb->context().caloTransAngle()) r = pb->context().caloZ2() / fabs( cos( theta )); else r = pb->context().caloR1() / sin( theta ); TEveStraightLineSet* marker = new TEveStraightLineSet; marker->SetLineWidth( 2 ); marker->SetLineStyle( 2 ); marker->AddLine( r * cos( phi ) * sin( theta ), r * sin( phi ) * sin( theta ), r * cos( theta ), ( r + size ) * cos( phi ) * sin( theta ), ( r + size ) * sin( phi ) * sin( theta ), ( r + size ) * cos( theta )); pb->setupAddElement( marker, comp ); }
void fireworks::addDoubleLines | ( | double | phi, |
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb | ||
) |
Definition at line 199 of file BuilderUtils.cc.
References M_PI, and FWProxyBuilderBase::setupAddElement().
Referenced by FWL1EtMissParticleLegoProxyBuilder::build(), and FWMETLegoProxyBuilder::build().
{ TEveStraightLineSet* mainLine = new TEveStraightLineSet; mainLine->AddLine( -5.191, phi, 0.01, 5.191, phi, 0.01 ); pb->setupAddElement( mainLine, comp ); phi = phi > 0 ? phi - M_PI : phi + M_PI; TEveStraightLineSet* secondLine = new TEveStraightLineSet; secondLine->SetLineStyle( 7 ); secondLine->AddLine( -5.191, phi, 0.01, 5.191, phi, 0.01 ); pb->setupAddElement( secondLine, comp ); }
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().
{ TEveGeoManagerHolder gmgr( TEveGeoShape::GetGeoMangeur()); double z1 = r_ecal / tan( theta_min ); if( z1 > z_ecal ) z1 = z_ecal; if( z1 < -z_ecal ) z1 = -z_ecal; double z2 = r_ecal / tan( theta_max ); if( z2 > z_ecal ) z2 = z_ecal; if( z2 < -z_ecal ) z2 = -z_ecal; double r1 = z_ecal * fabs( tan( theta_min )); if( r1 > r_ecal ) r1 = r_ecal; if( phi < 0 ) r1 = -r1; double r2 = z_ecal * fabs( tan( theta_max )); if( r2 > r_ecal ) r2 = r_ecal; if( phi < 0 ) r2 = -r2; if( fabs(r2 - r1) > 1 ) { TGeoBBox *sc_box = new TGeoBBox( 0., fabs( r2 - r1 ) / 2, 1 ); TEveGeoShape *element = new TEveGeoShape("r-segment"); element->SetShape(sc_box); TEveTrans &t = element->RefMainTrans(); t(1,4) = 0; t(2,4) = (r2+r1)/2; t(3,4) = fabs(z2)>fabs(z1) ? z2 : z1; pb->setupAddElement(element, container); } if( fabs(z2 - z1) > 1 ) { TGeoBBox *sc_box = new TGeoBBox( 0., 1, ( z2 - z1 ) / 2 ); TEveGeoShape *element = new TEveGeoShape("z-segment"); element->SetShape( sc_box ); TEveTrans &t = element->RefMainTrans(); t(1,4) = 0; t(2,4) = fabs(r2)>fabs(r1) ? r2 : r1; t(3,4) = (z2+z1)/2; pb->setupAddElement(element, container); } }
void fireworks::addSiStripClusters | ( | const FWEventItem * | iItem, |
const reco::Track & | t, | ||
class TEveElement * | tList, | ||
bool | addNearbyClusters, | ||
bool | master | ||
) |
Definition at line 404 of file TrackUtils.cc.
References edmNew::DetSet< T >::begin(), FWGeometry::contains(), edmNew::DetSetVector< T >::end(), edmNew::DetSet< T >::end(), extractClusterFromTrackingRecHit(), edmNew::DetSetVector< T >::find(), SiStripCluster::firstStrip(), fwLog, TrackingRecHit::geographicalId(), relativeConstraints::geom, FWEventItem::getGeom(), FWGeometry::getParameters(), TrackingRecHit::isValid(), fwlog::kDebug, fwlog::kError, localSiStrip(), FWGeometry::localToGlobal(), DetId::rawId(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), and setupAddElement().
Referenced by FWTrackHitsDetailView::addHits(), FWConvTrackHitsDetailView::addHits(), and FWTracksRecHitsProxyBuilder::build().
{ // master is true if the product is for proxy builder const FWGeometry *geom = iItem->getGeom(); const edmNew::DetSetVector<SiStripCluster> * allClusters = 0; if( addNearbyClusters ) { for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it ) { if( typeid( **it ) == typeid( SiStripRecHit2D )) { const SiStripRecHit2D &hit = static_cast<const SiStripRecHit2D &>( **it ); if( hit.cluster().isNonnull() && hit.cluster().isAvailable()) { allClusters = hit.cluster().product(); break; } } else if( typeid( **it ) == typeid( SiStripRecHit1D )) { const SiStripRecHit1D &hit = static_cast<const SiStripRecHit1D &>( **it ); if( hit.cluster().isNonnull() && hit.cluster().isAvailable()) { allClusters = hit.cluster().product(); break; } } } } for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it ) { unsigned int rawid = (*it)->geographicalId(); if( ! geom->contains( rawid )) { fwLog( fwlog::kError ) << "failed to get geometry of SiStripCluster with detid: " << rawid << std::endl; continue; } const float* pars = geom->getParameters( rawid ); // -- get phi from SiStripHit TrackingRecHitRef rechitRef = *it; const TrackingRecHit *rechit = &( *rechitRef ); const SiStripCluster *cluster = extractClusterFromTrackingRecHit( rechit ); if( cluster ) { if( allClusters != 0 ) { const edmNew::DetSet<SiStripCluster> & clustersOnThisDet = (*allClusters)[rechit->geographicalId().rawId()]; for( edmNew::DetSet<SiStripCluster>::const_iterator itc = clustersOnThisDet.begin(), edc = clustersOnThisDet.end(); itc != edc; ++itc ) { TEveStraightLineSet *scposition = new TEveStraightLineSet; scposition->SetDepthTest( false ); scposition->SetPickable( kTRUE ); short firststrip = itc->firstStrip(); if( &*itc == cluster ) { scposition->SetTitle( Form( "Exact SiStripCluster from TrackingRecHit, first strip %d", firststrip )); scposition->SetLineColor( kGreen ); } else { scposition->SetTitle( Form( "SiStripCluster, first strip %d", firststrip )); scposition->SetLineColor( kRed ); } float localTop[3] = { 0.0, 0.0, 0.0 }; float localBottom[3] = { 0.0, 0.0, 0.0 }; fireworks::localSiStrip( firststrip, localTop, localBottom, pars, rawid ); float globalTop[3]; float globalBottom[3]; geom->localToGlobal( rawid, localTop, globalTop, localBottom, globalBottom ); scposition->AddLine( globalTop[0], globalTop[1], globalTop[2], globalBottom[0], globalBottom[1], globalBottom[2] ); setupAddElement( scposition, tList, iItem, master, false ); } } else { short firststrip = cluster->firstStrip(); TEveStraightLineSet *scposition = new TEveStraightLineSet; scposition->SetDepthTest( false ); scposition->SetPickable( kTRUE ); scposition->SetTitle( Form( "SiStripCluster, first strip %d", firststrip )); float localTop[3] = { 0.0, 0.0, 0.0 }; float localBottom[3] = { 0.0, 0.0, 0.0 }; fireworks::localSiStrip( firststrip, localTop, localBottom, pars, rawid ); float globalTop[3]; float globalBottom[3]; geom->localToGlobal( rawid, localTop, globalTop, localBottom, globalBottom ); scposition->AddLine( globalTop[0], globalTop[1], globalTop[2], globalBottom[0], globalBottom[1], globalBottom[2] ); setupAddElement( scposition, tList, iItem, master, true ); } } else if( !rechit->isValid() && ( rawid != 0 )) // lost hit { if( allClusters != 0 ) { edmNew::DetSetVector<SiStripCluster>::const_iterator itds = allClusters->find( rawid ); if( itds != allClusters->end()) { const edmNew::DetSet<SiStripCluster> & clustersOnThisDet = *itds; for( edmNew::DetSet<SiStripCluster>::const_iterator itc = clustersOnThisDet.begin(), edc = clustersOnThisDet.end(); itc != edc; ++itc ) { short firststrip = itc->firstStrip(); TEveStraightLineSet *scposition = new TEveStraightLineSet; scposition->SetDepthTest( false ); scposition->SetPickable( kTRUE ); scposition->SetTitle( Form( "Lost SiStripCluster, first strip %d", firststrip )); float localTop[3] = { 0.0, 0.0, 0.0 }; float localBottom[3] = { 0.0, 0.0, 0.0 }; fireworks::localSiStrip( firststrip, localTop, localBottom, pars, rawid ); float globalTop[3]; float globalBottom[3]; geom->localToGlobal( rawid, localTop, globalTop, localBottom, globalBottom ); scposition->AddLine( globalTop[0], globalTop[1], globalTop[2], globalBottom[0], globalBottom[1], globalBottom[2] ); setupAddElement( scposition, tList, iItem, master, false ); scposition->SetLineColor( kRed ); } } } } else { fwLog( fwlog::kDebug ) << "*ANOTHER* option possible: valid=" << rechit->isValid() << ", rawid=" << rawid << std::endl; } } }
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, theta(), and reco::Candidate::theta().
Referenced by FWElectronGlimpseProxyBuilder::build(), and FWMuonGlimpseProxyBuilder::build().
const TGGC & fireworks::boldGC | ( | ) |
Definition at line 12 of file GlobalContexts.cc.
References fetchall_from_DQM_v2::pool.
Referenced by FWPSetTableManager::cellRenderer().
{ static TGGC s_boldGC(*gClient->GetResourcePool()->GetFrameGC()); TGFontPool *pool = gClient->GetFontPool(); //TGFont *font = pool->FindFontByHandle(s_boldGC.GetFont()); //FontAttributes_t attributes = font->GetFontAttributes(); /* This doesn't seem to work: attributes.fWeight = 1; TGFont *newFont = pool->GetFont(attributes.fFamily, 9, attributes.fWeight, attributes.fSlant); But this does: */ TGFont* newFont = pool->GetFont("-*-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1"); if ( ! newFont ) return s_boldGC; s_boldGC.SetFont(newFont->GetFontHandle()); return s_boldGC; }
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().
{ if( detector == MuonSubdetId::CSC ) { if( matchedSegment ) { segmentOuterPoint[0] = segmentPosition[0] + segmentLength*segmentDirection[0]; segmentOuterPoint[1] = segmentPosition[1] + segmentLength*segmentDirection[1]; segmentOuterPoint[2] = segmentLength; if( fabs(segmentOuterPoint[1]) > segmentLimit ) segmentOuterPoint[1] = segmentLimit * ( segmentOuterPoint[1] / fabs( segmentOuterPoint[1] )); segmentInnerPoint[0] = segmentPosition[0] - segmentLength*segmentDirection[0]; segmentInnerPoint[1] = segmentPosition[1] - segmentLength*segmentDirection[1]; segmentInnerPoint[2] = -segmentLength; if( fabs(segmentInnerPoint[1]) > segmentLimit ) segmentInnerPoint[1] = segmentLimit * ( segmentInnerPoint[1] / fabs( segmentInnerPoint[1] )); return; } else { segmentOuterPoint[0] = segmentPosition[0] + segmentDirection[0] * ( segmentPosition[2] / segmentDirection[2] ); segmentOuterPoint[1] = segmentPosition[1] + segmentDirection[1] * ( segmentPosition[2] / segmentDirection[2] ); segmentOuterPoint[2] = segmentPosition[2]; if( fabs( segmentOuterPoint[1] ) > segmentLength ) segmentOuterPoint[1] = segmentLength * ( segmentOuterPoint[1]/fabs( segmentOuterPoint[1] )); segmentInnerPoint[0] = segmentPosition[0] - segmentDirection[0] * ( segmentPosition[2] / segmentDirection[2] ); segmentInnerPoint[1] = segmentPosition[1] - segmentDirection[1] * ( segmentPosition[2] / segmentDirection[2] ); segmentInnerPoint[2] = -segmentPosition[2]; if( fabs( segmentInnerPoint[1] ) > segmentLength ) segmentInnerPoint[1] = segmentLength * ( segmentInnerPoint[1] / fabs( segmentInnerPoint[1] )); return; } } if ( detector == MuonSubdetId::DT ) { if( matchedSegment ) { segmentOuterPoint[0] = segmentPosition[0] + segmentLength*segmentDirection[0]; segmentOuterPoint[1] = segmentPosition[1] + segmentLength*segmentDirection[1]; segmentOuterPoint[2] = segmentLength; segmentInnerPoint[0] = segmentPosition[0] - segmentLength*segmentDirection[0]; segmentInnerPoint[1] = segmentPosition[1] - segmentLength*segmentDirection[1]; segmentInnerPoint[2] = -segmentLength; return; } else { double mag = sqrt( segmentDirection[0] * segmentDirection[0] + segmentDirection[1] * segmentDirection[1] + segmentDirection[2] * segmentDirection[2] ); double theta = atan2( sqrt( segmentDirection[0] * segmentDirection[0] + segmentDirection[1] * segmentDirection[1] ), segmentDirection[2] ); double newSegmentLength = segmentLength / cos( theta ); segmentInnerPoint[0] = segmentPosition[0] + ( segmentDirection[0] / mag ) * newSegmentLength; segmentInnerPoint[1] = segmentPosition[1] + ( segmentDirection[1] / mag ) * newSegmentLength; segmentInnerPoint[2] = segmentPosition[2] + ( segmentDirection[2] / mag ) * newSegmentLength; segmentOuterPoint[0] = segmentPosition[0] - ( segmentDirection[0] / mag ) * newSegmentLength; segmentOuterPoint[1] = segmentPosition[1] - ( segmentDirection[1] / mag ) * newSegmentLength; segmentOuterPoint[2] = segmentPosition[2] - ( segmentDirection[2] / mag ) * newSegmentLength; if( fabs(segmentOuterPoint[0]) > segmentLimit ) { segmentOuterPoint[0] = segmentLimit * ( segmentOuterPoint[0]/fabs( segmentOuterPoint[0] )); segmentOuterPoint[1] = ( segmentOuterPoint[1]/fabs( segmentOuterPoint[1] )) * tan( theta ); } return; } } fwLog( fwlog::kWarning ) << "MuonSubdetId: " << detector << std::endl; return; }
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 239 of file BuilderUtils.cc.
References addBox(), and energyScaledBox3DCorners().
{ std::vector<float> scaledCorners( 24 ); energyScaledBox3DCorners(corners, scale, scaledCorners, invert); addBox( scaledCorners, comp, pb ); }
void fireworks::drawEnergyTower3D | ( | const float * | corners, |
float | scale, | ||
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb, | ||
bool | reflect = false |
||
) |
Definition at line 323 of file BuilderUtils.cc.
References addBox(), and energyTower3DCorners().
{ std::vector<float> scaledCorners( 24 ); energyTower3DCorners(corners, scale, scaledCorners, reflect); addBox( scaledCorners, comp, pb ); }
void fireworks::drawEtScaledBox3D | ( | const float * | corners, |
float | energy, | ||
float | maxEnergy, | ||
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb, | ||
bool | reflect = false |
||
) |
Definition at line 276 of file BuilderUtils.cc.
References addBox(), and etScaledBox3DCorners().
{ std::vector<float> scaledCorners( 24 ); etScaledBox3DCorners(corners, energy, maxEnergy, scaledCorners, invert); addBox( scaledCorners, comp, pb ); }
void fireworks::drawEtTower3D | ( | const float * | corners, |
float | scale, | ||
TEveElement * | comp, | ||
FWProxyBuilderBase * | pb, | ||
bool | reflect = false |
||
) |
Definition at line 372 of file BuilderUtils.cc.
References addBox(), and etTower3DCorners().
{ std::vector<float> scaledCorners( 24 ); etTower3DCorners(corners, scale, scaledCorners, reflect); addBox( scaledCorners, comp, pb ); }
void fireworks::energyScaledBox3DCorners | ( | const float * | corners, |
float | scale, | ||
std::vector< float > & | scaledCorners, | ||
bool | invert = false |
||
) |
Definition at line 213 of file BuilderUtils.cc.
References f, i, and invertBox().
Referenced by FWHBHERecHitProxyBuilder::build(), FWHFRecHitProxyBuilder::build(), FWHORecHitProxyBuilder::build(), drawEnergyScaledBox3D(), and FWHBHERecHitProxyBuilder::scaleProduct().
{ std::vector<float> centre( 3, 0 ); for( unsigned int i = 0; i < 24; i += 3 ) { centre[0] += corners[i]; centre[1] += corners[i + 1]; centre[2] += corners[i + 2]; } for( unsigned int i = 0; i < 3; ++i ) centre[i] *= 1.0f / 8.0f; // Coordinates for a scaled version of the original box for( unsigned int i = 0; i < 24; i += 3 ) { scaledCorners[i] = centre[0] + ( corners[i] - centre[0] ) * scale; scaledCorners[i + 1] = centre[1] + ( corners[i + 1] - centre[1] ) * scale; scaledCorners[i + 2] = centre[2] + ( corners[i + 2] - centre[2] ) * scale; } if( invert ) invertBox( scaledCorners ); }
void fireworks::energyTower3DCorners | ( | const float * | corners, |
float | scale, | ||
std::vector< float > & | scaledCorners, | ||
bool | reflect = false |
||
) |
Definition at line 284 of file BuilderUtils.cc.
References diffTreeTool::diff, i, and pileupReCalc_HLTpaths::scale.
Referenced by FWCaloClusterProxyBuilder::build(), FWCastorRecHitProxyBuilder::build(), FWPRCaloTowerProxyBuilder::build(), FWZDCRecHitProxyBuilder::build(), FWPCaloHitProxyBuilder::build(), FWEcalRecHitProxyBuilder::build(), drawEnergyTower3D(), and FWEcalRecHitProxyBuilder::scaleProduct().
{ for( int i = 0; i < 24; ++i ) scaledCorners[i] = corners[i]; // Coordinates of a front face scaled if( reflect ) { // We know, that an ES rechit geometry in -Z needs correction. // The back face is actually its front face. for( unsigned int i = 0; i < 12; i += 3 ) { TEveVector diff( corners[i] - corners[i + 12], corners[i + 1] - corners[i + 13], corners[i + 2] - corners[i + 14] ); diff.Normalize(); diff *= scale; scaledCorners[i] = corners[i] + diff.fX; scaledCorners[i + 1] = corners[i + 1] + diff.fY; scaledCorners[i + 2] = corners[i + 2] + diff.fZ; } } else { for( unsigned int i = 0; i < 12; i += 3 ) { TEveVector diff( corners[i + 12] - corners[i], corners[i + 13] - corners[i + 1], corners[i + 14] - corners[i + 2] ); diff.Normalize(); diff *= scale; scaledCorners[i] = corners[i + 12]; scaledCorners[i + 1] = corners[i + 13]; scaledCorners[i + 2] = corners[i + 14]; scaledCorners[i + 12] = corners[i + 12] + diff.fX; scaledCorners[i + 13] = corners[i + 13] + diff.fY; scaledCorners[i + 14] = corners[i + 14] + diff.fZ; } } }
void fireworks::etScaledBox3DCorners | ( | const float * | corners, |
float | energy, | ||
float | maxEnergy, | ||
std::vector< float > & | scaledCorners, | ||
bool | reflect = false |
||
) |
Definition at line 247 of file BuilderUtils.cc.
References trackerHits::c, f, i, invertBox(), pileupReCalc_HLTpaths::scale, and funct::sin().
Referenced by FWHBHERecHitProxyBuilder::build(), drawEtScaledBox3D(), and FWHBHERecHitProxyBuilder::scaleProduct().
{ std::vector<float> centre( 3, 0 ); for( unsigned int i = 0; i < 24; i += 3 ) { centre[0] += corners[i]; centre[1] += corners[i + 1]; centre[2] += corners[i + 2]; } for( unsigned int i = 0; i < 3; ++i ) centre[i] *= 1.0f / 8.0f; TEveVector c( centre[0], centre[1], centre[2] ); float scale = energy / maxEnergy * sin( c.Theta()); // Coordinates for a scaled version of the original box for( unsigned int i = 0; i < 24; i += 3 ) { scaledCorners[i] = centre[0] + ( corners[i] - centre[0] ) * scale; scaledCorners[i + 1] = centre[1] + ( corners[i + 1] - centre[1] ) * scale; scaledCorners[i + 2] = centre[2] + ( corners[i + 2] - centre[2] ) * scale; } if( invert ) invertBox( scaledCorners ); }
void fireworks::etTower3DCorners | ( | const float * | corners, |
float | scale, | ||
std::vector< float > & | scaledCorners, | ||
bool | reflect = false |
||
) |
Definition at line 332 of file BuilderUtils.cc.
References diffTreeTool::diff, i, and funct::sin().
Referenced by drawEtTower3D(), and FWEcalRecHitProxyBuilder::scaleProduct().
{ for( int i = 0; i < 24; ++i ) scaledCorners[i] = corners[i]; // Coordinates of a front face scaled if( reflect ) { // We know, that an ES rechit geometry in -Z needs correction. // The back face is actually its front face. for( unsigned int i = 0; i < 12; i += 3 ) { TEveVector diff( corners[i] - corners[i + 12], corners[i + 1] - corners[i + 13], corners[i + 2] - corners[i + 14] ); diff.Normalize(); diff *= ( scale * sin( diff.Theta())); scaledCorners[i] = corners[i] + diff.fX; scaledCorners[i + 1] = corners[i + 1] + diff.fY; scaledCorners[i + 2] = corners[i + 2] + diff.fZ; } } else { for( unsigned int i = 0; i < 12; i += 3 ) { TEveVector diff( corners[i + 12] - corners[i], corners[i + 13] - corners[i + 1], corners[i + 14] - corners[i + 2] ); diff.Normalize(); diff *= ( scale * sin( diff.Theta())); scaledCorners[i] = corners[i + 12]; scaledCorners[i + 1] = corners[i + 13]; scaledCorners[i + 2] = corners[i + 14]; scaledCorners[i + 12] = corners[i + 12] + diff.fX; scaledCorners[i + 13] = corners[i + 13] + diff.fY; scaledCorners[i + 14] = corners[i + 14] + diff.fZ; } } }
const SiStripCluster * fireworks::extractClusterFromTrackingRecHit | ( | const TrackingRecHit * | rh | ) |
Definition at line 359 of file TrackUtils.cc.
References fwLog, and fwlog::kDebug.
Referenced by addSiStripClusters().
{ const SiStripCluster* cluster = 0; if( const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>( rechit )) { fwLog( fwlog::kDebug ) << "hit 2D "; if( hit2D->cluster().isNonnull()) { cluster = hit2D->cluster().get(); } else if( hit2D->cluster_regional().isNonnull()) { cluster = hit2D->cluster_regional().get(); } else { fwLog( fwlog::kDebug ) << "no cluster found!\n"; } } if( cluster == 0 ) { if( const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>( rechit )) { fwLog( fwlog::kDebug ) << "hit 1D "; if( hit1D->cluster().isNonnull()) { cluster = hit1D->cluster().get(); } else if( hit1D->cluster_regional().isNonnull()) { cluster = hit1D->cluster_regional().get(); } else { fwLog( fwlog::kDebug ) << "no cluster found!\n"; } } } return cluster; }
void fireworks::getDecomposedVersion | ( | const TString & | s, |
int * | out | ||
) |
Definition at line 30 of file fwPaths.cc.
Referenced by acceptDataFormatsVersion(), FWFileEntry::openFile(), and supportedDataFormatsVersion().
std::string fireworks::getLocalTime | ( | const edm::EventBase & | event | ) |
Definition at line 113 of file BuilderUtils.cc.
References pos, lumiQTWidget::t, runonSM::text, edm::EventBase::time(), and edm::Timestamp::value().
Referenced by CmsShowMainFrame::loadEvent(), and FWEventAnnotation::updateOverlayText().
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, max(), and min.
Referenced by FWTauProxyBuilderBase::buildBaseTau(), and makeRhoPhiSuperCluster().
{ double min = 100; double max = -100; for( std::vector<double>::const_iterator i = phis.begin(); i != phis.end(); ++i ) { double aphi = *i; // make phi continuous around jet phi if( aphi - phi > M_PI ) aphi -= 2*M_PI; if( phi - aphi > M_PI ) aphi += 2*M_PI; if( aphi > max ) max = aphi; if( aphi < min ) min = aphi; } if( min > max ) return std::pair<double,double>( 0, 0 ); return std::pair<double,double>( min, max ); }
TEveGeoShape * fireworks::getShape | ( | const char * | name, |
TGeoBBox * | shape, | ||
Color_t | color | ||
) |
Definition at line 42 of file BuilderUtils.cc.
References trackerHits::c.
Referenced by FWTauProxyBuilderBase::buildBaseTau(), FWMETProxyBuilder::buildViewType(), FWGlimpseView::FWGlimpseView(), and makeRhoPhiSuperCluster().
std::string fireworks::getTimeGMT | ( | const edm::EventBase & | event | ) |
Definition at line 103 of file BuilderUtils.cc.
References pos, lumiQTWidget::t, runonSM::text, edm::EventBase::time(), and edm::Timestamp::value().
const TGGC & fireworks::greenGC | ( | ) |
Definition at line 39 of file GlobalContexts.cc.
{ static TGGC s_greenGC(*gClient->GetResourcePool()->GetFrameGC()); s_greenGC.SetForeground(gVirtualX->GetPixel(kGreen-5)); return s_greenGC; }
std::string fireworks::info | ( | const std::set< DetId > & | idSet | ) |
Definition at line 887 of file TrackUtils.cc.
References errorMatrix2Lands_multiChannel::id, info(), and runonSM::text.
std::string fireworks::info | ( | const std::vector< DetId > & | idSet | ) |
Definition at line 898 of file TrackUtils.cc.
References errorMatrix2Lands_multiChannel::id, info(), and runonSM::text.
std::string fireworks::info | ( | const DetId & | id | ) |
Definition at line 703 of file TrackUtils.cc.
References DetId::Calo, CSCDetId::chamber(), MuonSubdetId::CSC, HcalDetId::depth(), MuonSubdetId::DT, DetId::Ecal, EcalBarrel, EcalEndcap, EcalLaserPnDiode, EcalPreshower, EcalTriggerTower, CSCDetId::endcap(), DetId::Hcal, HcalBarrel, HcalEmpty, HcalEndcap, HcalForward, HcalOther, HcalOuter, HcalTriggerTower, EEDetId::ic(), EBDetId::ieta(), CaloTowerDetId::ieta(), HcalDetId::ieta(), HcalDetId::iphi(), EBDetId::iphi(), CaloTowerDetId::iphi(), EEDetId::iquadrant(), EEDetId::isc(), EEDetId::ix(), EEDetId::iy(), TIBDetId::layer(), TOBDetId::layer(), PXBDetId::layer(), CSCDetId::layer(), RPCDetId::layer(), DetId::Muon, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, RPCDetId::region(), RPCDetId::ring(), CSCDetId::ring(), RPCDetId::roll(), MuonSubdetId::RPC, DTChamberId::sector(), RPCDetId::sector(), RPCDetId::station(), DTChamberId::station(), CSCDetId::station(), HcalDetId::subdet(), RPCDetId::subsector(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, EBDetId::tower_ieta(), EBDetId::tower_iphi(), DetId::Tracker, TIDDetId::wheel(), DTChamberId::wheel(), and TECDetId::wheel().
Referenced by info().
{ std::ostringstream oss; oss << "DetId: " << id.rawId() << "\n"; switch ( id.det() ) { case DetId::Tracker: switch ( id.subdetId() ) { case StripSubdetector::TIB: { oss <<"TIB "<<TIBDetId(id).layer(); } break; case StripSubdetector::TOB: { oss <<"TOB "<<TOBDetId(id).layer(); } break; case StripSubdetector::TEC: { oss <<"TEC "<<TECDetId(id).wheel(); } break; case StripSubdetector::TID: { oss <<"TID "<<TIDDetId(id).wheel(); } break; case (int) PixelSubdetector::PixelBarrel: { oss <<"PixBarrel "<< PXBDetId(id).layer(); } break; case (int) PixelSubdetector::PixelEndcap: { oss <<"PixEndcap "<< PXBDetId(id).layer(); } break; } break; case DetId::Muon: switch ( id.subdetId() ) { case MuonSubdetId::DT: { DTChamberId detId(id.rawId()); oss << "DT chamber (wheel, station, sector): " << detId.wheel() << ", " << detId.station() << ", " << detId.sector(); } break; case MuonSubdetId::CSC: { CSCDetId detId(id.rawId()); oss << "CSC chamber (endcap, station, ring, chamber, layer): " << detId.endcap() << ", " << detId.station() << ", " << detId.ring() << ", " << detId.chamber() << ", " << detId.layer(); } break; case MuonSubdetId::RPC: { RPCDetId detId(id.rawId()); oss << "RPC chamber "; switch ( detId.region() ) { case 0: oss << "/ barrel / (wheel, station, sector, layer, subsector, roll): " << detId.ring() << ", " << detId.station() << ", " << detId.sector() << ", " << detId.layer() << ", " << detId.subsector() << ", " << detId.roll(); break; case 1: oss << "/ forward endcap / (wheel, station, sector, layer, subsector, roll): " << detId.ring() << ", " << detId.station() << ", " << detId.sector() << ", " << detId.layer() << ", " << detId.subsector() << ", " << detId.roll(); break; case -1: oss << "/ backward endcap / (wheel, station, sector, layer, subsector, roll): " << detId.ring() << ", " << detId.station() << ", " << detId.sector() << ", " << detId.layer() << ", " << detId.subsector() << ", " << detId.roll(); break; } } break; } break; case DetId::Calo: { CaloTowerDetId detId( id.rawId() ); oss << "CaloTower (ieta, iphi): " << detId.ieta() << ", " << detId.iphi(); } break; case DetId::Ecal: switch ( id.subdetId() ) { case EcalBarrel: { EBDetId detId(id); oss << "EcalBarrel (ieta, iphi, tower_ieta, tower_iphi): " << detId.ieta() << ", " << detId.iphi() << ", " << detId.tower_ieta() << ", " << detId.tower_iphi(); } break; case EcalEndcap: { EEDetId detId(id); oss << "EcalEndcap (ix, iy, SuperCrystal, crystal, quadrant): " << detId.ix() << ", " << detId.iy() << ", " << detId.isc() << ", " << detId.ic() << ", " << detId.iquadrant(); } break; case EcalPreshower: oss << "EcalPreshower"; break; case EcalTriggerTower: oss << "EcalTriggerTower"; break; case EcalLaserPnDiode: oss << "EcalLaserPnDiode"; break; } break; case DetId::Hcal: { HcalDetId detId(id); switch ( detId.subdet() ) { case HcalEmpty: oss << "HcalEmpty "; break; case HcalBarrel: oss << "HcalBarrel "; break; case HcalEndcap: oss << "HcalEndcap "; break; case HcalOuter: oss << "HcalOuter "; break; case HcalForward: oss << "HcalForward "; break; case HcalTriggerTower: oss << "HcalTriggerTower "; break; case HcalOther: oss << "HcalOther "; break; } oss << "(ieta, iphi, depth):" << detId.ieta() << ", " << detId.iphi() << ", " << detId.depth(); } break; default :; } return oss.str(); }
void fireworks::invertBox | ( | std::vector< float > & | corners | ) |
Definition at line 127 of file BuilderUtils.cc.
References swap().
Referenced by energyScaledBox3DCorners(), and etScaledBox3DCorners().
{ std::swap( corners[0], corners[9] ); std::swap( corners[1], corners[10] ); std::swap( corners[2], corners[11] ); std::swap( corners[3], corners[6] ); std::swap( corners[4], corners[7] ); std::swap( corners[5], corners[8] ); std::swap( corners[12], corners[21] ); std::swap( corners[13], corners[22] ); std::swap( corners[14], corners[23] ); std::swap( corners[15], corners[18] ); std::swap( corners[16], corners[19] ); std::swap( corners[17], corners[20] ); }
const TGGC & fireworks::italicGC | ( | ) |
Definition at line 53 of file GlobalContexts.cc.
References asciidump::attributes, and fetchall_from_DQM_v2::pool.
Referenced by FWPSetTableManager::cellRenderer().
{ static TGGC s_italicGC(*gClient->GetResourcePool()->GetFrameGC()); TGFontPool *pool = gClient->GetFontPool(); TGFont *font = pool->FindFontByHandle(s_italicGC.GetFont()); FontAttributes_t attributes = font->GetFontAttributes(); attributes.fSlant = 1; TGFont *newFont = pool->GetFont(attributes.fFamily, 9, attributes.fWeight, attributes.fSlant); s_italicGC.SetFont(newFont->GetFontHandle()); return s_italicGC; }
void fireworks::localSiStrip | ( | short | strip, |
float * | localTop, | ||
float * | localBottom, | ||
const float * | pars, | ||
unsigned int | id | ||
) |
Definition at line 292 of file TrackUtils.cc.
References delta, fwLog, fwlog::kError, evf::evtn::offset(), and funct::tan().
Referenced by addSiStripClusters(), FWSiStripDigiProxyBuilder::build(), and FWSiStripClusterProxyBuilder::build().
{ Float_t topology = pars[0]; Float_t halfStripLength = pars[2] * 0.5; Double_t localCenter[3] = { 0.0, 0.0, 0.0 }; localTop[1] = halfStripLength; localBottom[1] = -halfStripLength; if( topology == 1 ) // RadialStripTopology { // stripAngle = phiOfOneEdge + yAxisOrientation * strip * angularWidth // localY = yAxisOrientation * originToIntersection * tan( stripAngle ) Float_t stripAngle = tan( pars[5] + pars[3] * strip * pars[6] ); Float_t delta = halfStripLength * stripAngle; localCenter[0] = pars[3] * pars[4] * stripAngle; localTop[0] = localCenter[0] + delta; localBottom[0] = localCenter[0] - delta; } else if( topology == 2 ) // RectangularStripTopology { // offset = -numberOfStrips/2. * pitch // localY = strip * pitch + offset Float_t offset = -pars[1] * 0.5 * pars[3]; localCenter[0] = strip * pars[3] + offset; localTop[0] = localCenter[0]; localBottom[0] = localCenter[0]; } else if( topology == 3 ) // TrapezoidalStripTopology { fwLog( fwlog::kError ) << "did not expect TrapezoidalStripTopology of " << id << std::endl; } else if( pars[0] == 0 ) // StripTopology { fwLog( fwlog::kError ) << "did not find StripTopology of " << id << std::endl; } }
TEveJetCone * fireworks::makeEveJetCone | ( | const reco::Jet & | iData, |
const fireworks::Context & | context | ||
) |
Definition at line 7 of file makeEveJetCone.cc.
References trackerHits::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().
{ TEveJetCone* jet = new TEveJetCone(); jet->SetApex(TEveVector(iData.vertex().x(),iData.vertex().y(),iData.vertex().z())); reco::Jet::Constituents c = iData.getJetConstituents(); bool haveData = true; for ( reco::Jet::Constituents::const_iterator itr = c.begin(); itr != c.end(); ++itr ) { if ( !itr->isAvailable() ) { haveData = false; break; } } double eta_size = 0.2; double phi_size = 0.2; if ( haveData ){ eta_size = sqrt(iData.etaetaMoment()); phi_size = sqrt(iData.phiphiMoment()); } static const float offr = 5; static const float offz = offr/tan(context.caloTransAngle()); if (iData.eta() < context.caloMaxEta()) jet->SetCylinder(context.caloR1(false) -offr, context.caloZ1(false)-offz); else jet->SetCylinder(context.caloR2(false) -offr, context.caloZ2(false)-offz); jet-> AddEllipticCone(iData.eta(), iData.phi(), eta_size, phi_size); jet->SetPickable(kTRUE); return jet; }
bool fireworks::makeRhoPhiSuperCluster | ( | FWProxyBuilderBase * | pb, |
const reco::SuperClusterRef & | iCluster, | ||
float | iPhi, | ||
TEveElement & | oItemHolder | ||
) |
Definition at line 29 of file makeSuperCluster.cc.
References fireworks::Context::caloR1(), FWDisplayProperties::color(), FWProxyBuilderBase::context(), FWEventItem::defaultDisplayProperties(), end, FWGeometry::getCorners(), fireworks::Context::getGeom(), getPhiRange(), getShape(), i, errorMatrix2Lands_multiChannel::id, edm::Ref< C, T, F >::isAvailable(), FWProxyBuilderBase::item(), M_PI, colinearityKinematic::Phi, alignCSCRings::r, and FWProxyBuilderBase::setupAddElement().
Referenced by FWPhotonProxyBuilder::buildViewType(), and FWElectronProxyBuilder::buildViewType().
{ if( !iCluster.isAvailable()) return false; TEveGeoManagerHolder gmgr( TEveGeoShape::GetGeoMangeur()); std::vector< std::pair<DetId, float> > detids = iCluster->hitsAndFractions(); std::vector<double> phis; for( std::vector<std::pair<DetId, float> >::const_iterator id = detids.begin(), end = detids.end(); id != end; ++id ) { const float* corners = pb->context().getGeom()->getCorners( id->first.rawId()); if( corners != 0 ) { std::vector<float> centre( 3, 0 ); for( unsigned int i = 0; i < 24; i += 3 ) { centre[0] += corners[i]; centre[1] += corners[i + 1]; centre[2] += corners[i + 2]; } phis.push_back( TEveVector( centre[0], centre[1], centre[2] ).Phi()); } } std::pair<double,double> phiRange = fireworks::getPhiRange( phis, iPhi ); const double r = pb->context().caloR1(); TGeoBBox *sc_box = new TGeoTubeSeg( r - 2, r , 1, phiRange.first * 180 / M_PI - 0.5, phiRange.second * 180 / M_PI + 0.5 ); // 0.5 is roughly half size of a crystal TEveGeoShape *sc = fireworks::getShape( "supercluster", sc_box, pb->item()->defaultDisplayProperties().color()); sc->SetPickable( kTRUE ); pb->setupAddElement( sc, &oItemHolder ); return true; }
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, errorMatrix2Lands_multiChannel::id, edm::Ref< C, T, F >::isAvailable(), Pi, and theta().
Referenced by FWPhotonProxyBuilder::buildViewType(), and FWElectronProxyBuilder::buildViewType().
{ if( !iCluster.isAvailable()) return false; TEveGeoManagerHolder gmgr( TEveGeoShape::GetGeoMangeur()); double theta_max = 0; double theta_min = 10; std::vector<std::pair<DetId, float> > detids = iCluster->hitsAndFractions(); for( std::vector<std::pair<DetId, float> >::const_iterator id = detids.begin(), end = detids.end(); id != end; ++id ) { const float* corners = pb->context().getGeom()->getCorners( id->first.rawId()); if( corners != 0 ) { std::vector<float> centre( 3, 0 ); for( unsigned int i = 0; i < 24; i += 3 ) { centre[0] += corners[i]; centre[1] += corners[i + 1]; centre[2] += corners[i + 2]; } double theta = TEveVector( centre[0], centre[1], centre[2] ).Theta(); if( theta > theta_max ) theta_max = theta; if( theta < theta_min ) theta_min = theta; } } // expand theta range by the size of a crystal to avoid segments of zero length bool barrel = true; if ((theta_max > 0 && theta_max < pb->context().caloTransAngle()) || ( theta_min > (TMath::Pi() -pb->context().caloTransAngle())) ) { barrel = false; } double z_ecal = barrel ? pb->context().caloZ1() : pb->context().caloZ2(); double r_ecal = barrel ? pb->context().caloR1() : pb->context().caloR2(); fireworks::addRhoZEnergyProjection( pb, &oItemHolder, r_ecal-1, z_ecal-1, theta_min - 0.003, theta_max + 0.003, iPhi ); return true; }
float fireworks::pixelLocalX | ( | const double | mpx, |
const int | m_nrows | ||
) |
Definition at line 165 of file TrackUtils.cc.
References BIG_PIX_PER_ROC_X, PITCHX, and ROWS_PER_ROC.
Referenced by FWSiPixelClusterProxyBuilder::build(), FWSiPixelDigiProxyBuilder::build(), pushPixelCluster(), and ValidateGeometry::validatePixelTopology().
{ // Calculate the edge of the active sensor with respect to the center, // that is simply the half-size. // Take into account large pixels const double xoffset = -( nrows + BIG_PIX_PER_ROC_X * nrows / ROWS_PER_ROC ) / 2. * PITCHX; // Measurement to local transformation for X coordinate // X coordinate is in the ROC row number direction // Copy from RectangularPixelTopology::localX implementation int binoffx = int(mpx); // truncate to int double fractionX = mpx - binoffx; // find the fraction double local_PITCHX = PITCHX; // defaultpitch if( binoffx > 80 ) { // ROC 1 - handles x on edge cluster binoffx = binoffx + 2; } else if( binoffx == 80 ) { // ROC 1 binoffx = binoffx+1; local_PITCHX = 2 * PITCHX; } else if( binoffx == 79 ) { // ROC 0 binoffx = binoffx + 0; local_PITCHX = 2 * PITCHX; } else if( binoffx >= 0 ) { // ROC 0 binoffx = binoffx + 0; } // The final position in local coordinates double lpX = double( binoffx * PITCHX ) + fractionX * local_PITCHX + xoffset; return lpX; }
float fireworks::pixelLocalY | ( | const double | mpy, |
const int | m_ncols | ||
) |
Definition at line 198 of file TrackUtils.cc.
References BIG_PIX_PER_ROC_Y, COLS_PER_ROC, and PITCHY.
Referenced by FWSiPixelClusterProxyBuilder::build(), FWSiPixelDigiProxyBuilder::build(), pushPixelCluster(), and ValidateGeometry::validatePixelTopology().
{ // Calculate the edge of the active sensor with respect to the center, // that is simply the half-size. // Take into account large pixels double yoffset = -( ncols + BIG_PIX_PER_ROC_Y * ncols / COLS_PER_ROC ) / 2. * PITCHY; // Measurement to local transformation for Y coordinate // Y is in the ROC column number direction // Copy from RectangularPixelTopology::localY implementation int binoffy = int( mpy ); // truncate to int double fractionY = mpy - binoffy; // find the fraction double local_PITCHY = PITCHY; // defaultpitch if( binoffy>416 ) { // ROC 8, not real ROC binoffy = binoffy+17; } else if( binoffy == 416 ) { // ROC 8 binoffy = binoffy + 16; local_PITCHY = 2 * PITCHY; } else if( binoffy == 415 ) { // ROC 7, last big pixel binoffy = binoffy + 15; local_PITCHY = 2 * PITCHY; } else if( binoffy > 364 ) { // ROC 7 binoffy = binoffy + 15; } else if( binoffy == 364 ) { // ROC 7 binoffy = binoffy + 14; local_PITCHY = 2 * PITCHY; } else if( binoffy == 363 ) { // ROC 6 binoffy = binoffy + 13; local_PITCHY = 2 * PITCHY; } else if( binoffy > 312 ) { // ROC 6 binoffy = binoffy + 13; } else if( binoffy == 312 ) { // ROC 6 binoffy = binoffy + 12; local_PITCHY = 2 * PITCHY; } else if( binoffy == 311 ) { // ROC 5 binoffy = binoffy + 11; local_PITCHY = 2 * PITCHY; } else if( binoffy > 260 ) { // ROC 5 binoffy = binoffy + 11; } else if( binoffy == 260 ) { // ROC 5 binoffy = binoffy + 10; local_PITCHY = 2 * PITCHY; } else if( binoffy == 259 ) { // ROC 4 binoffy = binoffy + 9; local_PITCHY = 2 * PITCHY; } else if( binoffy > 208 ) { // ROC 4 binoffy = binoffy + 9; } else if(binoffy == 208 ) { // ROC 4 binoffy = binoffy + 8; local_PITCHY = 2 * PITCHY; } else if( binoffy == 207 ) { // ROC 3 binoffy = binoffy + 7; local_PITCHY = 2 * PITCHY; } else if( binoffy > 156 ) { // ROC 3 binoffy = binoffy + 7; } else if( binoffy == 156 ) { // ROC 3 binoffy = binoffy + 6; local_PITCHY = 2 * PITCHY; } else if( binoffy == 155 ) { // ROC 2 binoffy = binoffy + 5; local_PITCHY = 2 * PITCHY; } else if( binoffy > 104 ) { // ROC 2 binoffy = binoffy + 5; } else if( binoffy == 104 ) { // ROC 2 binoffy = binoffy + 4; local_PITCHY = 2 * PITCHY; } else if( binoffy == 103 ) { // ROC 1 binoffy = binoffy + 3; local_PITCHY = 2 * PITCHY; } else if( binoffy > 52 ) { // ROC 1 binoffy = binoffy + 3; } else if( binoffy == 52 ) { // ROC 1 binoffy = binoffy + 2; local_PITCHY = 2 * PITCHY; } else if( binoffy == 51 ) { // ROC 0 binoffy = binoffy + 1; local_PITCHY = 2 * PITCHY; } else if( binoffy > 0 ) { // ROC 0 binoffy=binoffy + 1; } else if( binoffy == 0 ) { // ROC 0 binoffy = binoffy + 0; local_PITCHY = 2 * PITCHY; } // The final position in local coordinates double lpY = double( binoffy * PITCHY ) + fractionY * local_PITCHY + yoffset; return lpY; }
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 FWCandidateProxyBuilder::build(), FWGenParticleProxyBuilder::build(), FWElectronLegoProxyBuilder::build(), FWMuonBuilder::buildMuon(), and FWElectronProxyBuilder::requestCommon().
TEveTrack * fireworks::prepareTrack | ( | const reco::Track & | track, |
TEveTrackPropagator * | propagator, | ||
const std::vector< TEveVector > & | extraRefPoints = std::vector<TEveVector>() |
||
) |
Definition at line 70 of file TrackUtils.cc.
References reco::TrackBase::charge(), reco::Track::extra(), f, i, reco::Track::innerMomentum(), reco::Track::innerOk(), reco::Track::innerPosition(), 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(), python::multivaluedict::sort(), lumiQTWidget::t, reco::btau::trackMomentum, v, TrackValidation_HighPurity_cff::valid, reco::TrackBase::vx(), reco::TrackBase::vy(), and reco::TrackBase::vz().
Referenced by FWTauProxyBuilderBase::addConstituentTracks(), FWTauProxyBuilderBase::addLeadTrack(), DummyEvelyser::analyze(), FWTrackProxyBuilder::build(), FWConvTrackHitsDetailView::build(), FWElectronLegoProxyBuilder::build(), FWTrackHitsDetailView::build(), FWMuonBuilder::buildMuon(), and FWElectronProxyBuilder::requestCommon().
{ // To make use of all available information, we have to order states // properly first. Propagator should take care of y=0 transition. std::vector<State> refStates; TEveVector trackMomentum(track.px(), track.py(), track.pz()); refStates.push_back(State(TEveVector(track.vx(), track.vy(), track.vz()), trackMomentum)); if( track.extra().isAvailable() ) { if (track.innerOk()) { const reco::TrackBase::Point &v = track.innerPosition(); const reco::TrackBase::Vector &p = track.innerMomentum(); refStates.push_back(State(TEveVector(v.x(), v.y(), v.z()), TEveVector(p.x(), p.y(), p.z()))); } if (track.outerOk()) { const reco::TrackBase::Point &v = track.outerPosition(); const reco::TrackBase::Vector &p = track.outerMomentum(); refStates.push_back(State(TEveVector(v.x(), v.y(), v.z()), TEveVector(p.x(), p.y(), p.z()))); } } for( std::vector<TEveVector>::const_iterator point = extraRefPoints.begin(), pointEnd = extraRefPoints.end(); point != pointEnd; ++point ) refStates.push_back(State(*point)); if( track.pt()>1 ) std::sort( refStates.begin(), refStates.end(), StateOrdering(trackMomentum) ); // * if the first state has non-zero momentum use it as a starting point // and all other points as PathMarks to follow // * if the first state has only position, try the last state. If it has // momentum we propagate backword, if not, we look for the first one // on left that has momentum and ignore all earlier. // TEveRecTrack t; t.fBeta = 1.; t.fSign = track.charge(); if( refStates.front().valid ) { t.fV = refStates.front().position; t.fP = refStates.front().momentum; TEveTrack* trk = new TEveTrack( &t, propagator ); for( unsigned int i(1); i<refStates.size()-1; ++i) { if( refStates[i].valid ) trk->AddPathMark( TEvePathMark( TEvePathMark::kReference, refStates[i].position, refStates[i].momentum ) ); else trk->AddPathMark( TEvePathMark( TEvePathMark::kDaughter, refStates[i].position ) ); } if( refStates.size()>1 ) { trk->AddPathMark( TEvePathMark( TEvePathMark::kDecay, refStates.back().position ) ); } return trk; } if( refStates.back().valid ) { t.fSign = (-1)*track.charge(); t.fV = refStates.back().position; t.fP = refStates.back().momentum * (-1.0f); TEveTrack* trk = new TEveTrack( &t, propagator ); unsigned int i( refStates.size()-1 ); for(; i>0; --i) { if ( refStates[i].valid ) trk->AddPathMark( TEvePathMark( TEvePathMark::kReference, refStates[i].position, refStates[i].momentum*(-1.0f) ) ); else trk->AddPathMark( TEvePathMark( TEvePathMark::kDaughter, refStates[i].position ) ); } if ( refStates.size()>1 ) { trk->AddPathMark( TEvePathMark( TEvePathMark::kDecay, refStates.front().position ) ); } return trk; } unsigned int i(0); while( i<refStates.size() && !refStates[i].valid ) ++i; assert( i < refStates.size() ); t.fV = refStates[i].position; t.fP = refStates[i].momentum; TEveTrack* trk = new TEveTrack( &t, propagator ); for( unsigned int j(i+1); j<refStates.size()-1; ++j ) { if( refStates[i].valid ) trk->AddPathMark( TEvePathMark( TEvePathMark::kReference, refStates[i].position, refStates[i].momentum ) ); else trk->AddPathMark( TEvePathMark( TEvePathMark::kDaughter, refStates[i].position ) ); } if ( i < refStates.size() ) { trk->AddPathMark( TEvePathMark( TEvePathMark::kDecay, refStates.back().position ) ); } return trk; }
void fireworks::pushNearbyPixelHits | ( | std::vector< TVector3 > & | pixelPoints, |
const FWEventItem & | iItem, | ||
const reco::Track & | t | ||
) |
Definition at line 566 of file TrackUtils.cc.
References edmNew::DetSet< T >::begin(), FWGeometry::contains(), edmNew::DetSetVector< T >::end(), edmNew::DetSet< T >::end(), edmNew::DetSetVector< T >::find(), fwLog, relativeConstraints::geom, FWEventItem::getGeom(), FWGeometry::getParameters(), fwlog::kError, PixelSubdetector::PixelBarrel, GeomDetEnumerators::PixelEndcap, pushPixelCluster(), reco::Track::recHitsBegin(), and reco::Track::recHitsEnd().
Referenced by FWTrackHitsDetailView::addHits(), and FWConvTrackHitsDetailView::addHits().
{ const edmNew::DetSetVector<SiPixelCluster> * allClusters = 0; for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it) { if( typeid(**it) == typeid( SiPixelRecHit )) { const SiPixelRecHit &hit = static_cast<const SiPixelRecHit &>(**it); if( hit.cluster().isNonnull() && hit.cluster().isAvailable()) { allClusters = hit.cluster().product(); break; } } } if( allClusters == 0 ) return; const FWGeometry *geom = iItem.getGeom(); for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it ) { const TrackingRecHit* rh = &(**it); DetId id = (*it)->geographicalId(); if( ! geom->contains( id )) { fwLog( fwlog::kError ) << "failed to get geometry of Tracker Det with raw id: " << id.rawId() << std::endl; continue; } // -- in which detector are we? unsigned int subdet = (unsigned int)id.subdetId(); if(( subdet != PixelSubdetector::PixelBarrel ) && ( subdet != PixelSubdetector::PixelEndcap )) continue; const SiPixelCluster* hitCluster = 0; if( const SiPixelRecHit* pixel = dynamic_cast<const SiPixelRecHit*>( rh )) hitCluster = pixel->cluster().get(); edmNew::DetSetVector<SiPixelCluster>::const_iterator itds = allClusters->find(id.rawId()); if( itds != allClusters->end()) { const edmNew::DetSet<SiPixelCluster> & clustersOnThisDet = *itds; for( edmNew::DetSet<SiPixelCluster>::const_iterator itc = clustersOnThisDet.begin(), edc = clustersOnThisDet.end(); itc != edc; ++itc ) { if( &*itc != hitCluster ) pushPixelCluster( pixelPoints, *geom, id, *itc, geom->getParameters( id )); } } } }
void fireworks::pushPixelCluster | ( | std::vector< TVector3 > & | pixelPoints, |
const FWGeometry & | geom, | ||
DetId | id, | ||
const SiPixelCluster & | c, | ||
const float * | pars | ||
) |
Definition at line 669 of file TrackUtils.cc.
References fwLog, fwlog::kDebug, FWGeometry::localToGlobal(), SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), pixelLocalX(), and pixelLocalY().
Referenced by pushNearbyPixelHits(), and pushPixelHits().
{ double row = c.minPixelRow(); double col = c.minPixelCol(); float lx = 0.; float ly = 0.; int nrows = (int)pars[0]; int ncols = (int)pars[1]; lx = pixelLocalX( row, nrows ); ly = pixelLocalY( col, ncols ); fwLog( fwlog::kDebug ) << ", row: " << row << ", col: " << col << ", lx: " << lx << ", ly: " << ly ; float local[3] = { lx, ly, 0. }; float global[3]; geom.localToGlobal( id, local, global ); TVector3 pb( global[0], global[1], global[2] ); pixelPoints.push_back( pb ); fwLog( fwlog::kDebug ) << " x: " << pb.X() << ", y: " << pb.Y() << " z: " << pb.Z() << " eta: " << pb.Eta() << ", phi: " << pb.Phi() << " rho: " << pb.Pt() << std::endl; }
void fireworks::pushPixelHits | ( | std::vector< TVector3 > & | pixelPoints, |
const FWEventItem & | iItem, | ||
const reco::Track & | t | ||
) |
Definition at line 622 of file TrackUtils.cc.
References trackerHits::c, FWGeometry::contains(), reco::TrackBase::dz(), reco::TrackBase::eta(), fwLog, relativeConstraints::geom, FWEventItem::getGeom(), FWGeometry::getParameters(), fwlog::kDebug, fwlog::kError, PixelSubdetector::PixelBarrel, GeomDetEnumerators::PixelEndcap, pushPixelCluster(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), subdets, and reco::TrackBase::vz().
Referenced by FWTrackHitsDetailView::addHits(), FWConvTrackHitsDetailView::addHits(), and FWTracksRecHitsProxyBuilder::build().
{ /* * -- return for each Pixel Hit a 3D point */ const FWGeometry *geom = iItem.getGeom(); double dz = t.dz(); double vz = t.vz(); double etaT = t.eta(); fwLog( fwlog::kDebug ) << "Track eta: " << etaT << ", vz: " << vz << ", dz: " << dz << std::endl; int cnt = 0; for( trackingRecHit_iterator it = t.recHitsBegin(), itEnd = t.recHitsEnd(); it != itEnd; ++it ) { const TrackingRecHit* rh = &(**it); // -- get position of center of wafer, assuming (0,0,0) is the center DetId id = (*it)->geographicalId(); if( ! geom->contains( id )) { fwLog( fwlog::kError ) << "failed to get geometry of Tracker Det with raw id: " << id.rawId() << std::endl; continue; } // -- in which detector are we? unsigned int subdet = (unsigned int)id.subdetId(); if(( subdet == PixelSubdetector::PixelBarrel ) || ( subdet == PixelSubdetector::PixelEndcap )) { fwLog( fwlog::kDebug ) << cnt++ << " -- " << subdets[subdet]; if( const SiPixelRecHit* pixel = dynamic_cast<const SiPixelRecHit*>( rh )) { const SiPixelCluster& c = *( pixel->cluster()); pushPixelCluster( pixelPoints, *geom, id, c, geom->getParameters( id )); } } } }
const TGGC & fireworks::redGC | ( | ) |
Definition at line 46 of file GlobalContexts.cc.
{ static TGGC s_redGC(*gClient->GetResourcePool()->GetFrameGC()); s_redGC.SetForeground(gVirtualX->GetPixel(kRed-5)); return s_redGC; }
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(), objMon< T >::monitorDenominator(), CmsShowMainBase::sendVersionInfo(), and CmsShowMainFrame::showFWorksInfo().
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 FWPFCandidate3DProxyBuilder::build(), FWPFPatJetLegoProxyBuilder< T >::build(), FWPFPatJet3DProxyBuilder< T >::build(), and FWPFCandidatesLegoProxyBuilder::build().
{ using namespace reco; // switch (pfCand.particleId() ) { // case PFCandidate::e: track->SetLineStyle(5); break; // case PFCandidate::mu: track->SetLineStyle(6); break; // case PFCandidate::h0: track->SetLineStyle(3); break; // case PFCandidate::gamma: track->SetLineStyle(7); break; // default: break; // } }
void fireworks::setupAddElement | ( | TEveElement * | el, |
TEveElement * | parent, | ||
const FWEventItem * | item, | ||
bool | master, | ||
bool | color | ||
) |
Definition at line 337 of file TrackUtils.cc.
References FWDisplayProperties::color(), FWEventItem::defaultDisplayProperties(), and FWDisplayProperties::transparency().
Referenced by addSiStripClusters(), and FWDTRecHitProxyBuilder::buildViewType().
{ if (master) { el->CSCTakeAnyParentAsMaster(); el->SetPickable(true); } if (color) { el->CSCApplyMainColorToMatchingChildren(); el->CSCApplyMainTransparencyToMatchingChildren(); el->SetMainColor(item->defaultDisplayProperties().color()); assert((item->defaultDisplayProperties().transparency() >= 0) && (item->defaultDisplayProperties().transparency() <= 100)); el->SetMainTransparency(item->defaultDisplayProperties().transparency()); } parent->AddElement(el); }
int * fireworks::supportedDataFormatsVersion | ( | ) |
Definition at line 43 of file fwPaths.cc.
References getDecomposedVersion(), and v.
Referenced by acceptDataFormatsVersion(), CmsShowSearchFiles::CmsShowSearchFiles(), FWFileEntry::openFile(), and CmsShowSearchFiles::readInfo().
{ static int mm[] = {0, 0, 0}; if (!mm[0]) { TString v; if (gSystem->Getenv("CMSSW_VERSION")) { v = gSystem->Getenv("CMSSW_VERSION"); } else { TString versionFileName = gSystem->Getenv("CMSSW_BASE"); versionFileName += "/src/Fireworks/Core/data/version.txt"; ifstream fs(versionFileName); TString infoText; infoText.ReadLine(fs); infoText.ReadLine(fs); fs.close(); v = &infoText[13]; } getDecomposedVersion(v, &mm[0]); } return &mm[0]; }
std::vector< std::pair< double, double > > fireworks::thetaBins | ( | ) |
Definition at line 49 of file thetaBins.cc.
References create_public_lumi_plots::exp, i, fw3dlego::xbins, and fw3dlego::xbins_n.
Referenced by FWCaloTauProxyBuilder::buildViewType().
const int fireworks::BIG_PIX_PER_ROC_X = 1 [static] |
Definition at line 64 of file TrackUtils.cc.
Referenced by PixelTopologyBuilder::build(), pixelLocalX(), and GCC11_FINAL::RectangularPixelTopology().
const int fireworks::BIG_PIX_PER_ROC_Y = 2 [static] |
Definition at line 61 of file TrackUtils.cc.
Referenced by PixelTopologyBuilder::build(), pixelLocalY(), and GCC11_FINAL::RectangularPixelTopology().
const int fireworks::COLS_PER_ROC = 52 [static] |
Definition at line 62 of file TrackUtils.cc.
Referenced by pixelLocalY(), and GCC11_FINAL::RectangularPixelTopology().
const double fireworks::MICRON = 1./1000./10. [static] |
Definition at line 58 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 59 of file TrackUtils.cc.
Referenced by pixelLocalX().
const double fireworks::PITCHY = 150*MICRON [static] |
Definition at line 60 of file TrackUtils.cc.
Referenced by pixelLocalY().
const int fireworks::ROWS_PER_ROC = 80 [static] |
Definition at line 63 of file TrackUtils.cc.
Referenced by pixelLocalX(), and GCC11_FINAL::RectangularPixelTopology().
const std::string fireworks::subdets[7] = { "UNKNOWN", "PXB", "PXF", "TIB", "TID", "TOB", "TEC" } [static] |
Definition at line 67 of file TrackUtils.cc.
Referenced by pushPixelHits().