ATLAS Offline Software
Loading...
Searching...
No Matches
IParticleCollHandle_Jet Class Reference

#include <IParticleCollHandle_Jet.h>

Inheritance diagram for IParticleCollHandle_Jet:
Collaboration diagram for IParticleCollHandle_Jet:

Classes

class  Imp

Public Slots

void setCutAllowedPt (const VP1Interval &)
void setCutAllowedEta (const VP1Interval &)
void setCutAllowedPhi (const QList< VP1Interval > &)
const VP1IntervalgetCutAllowedPt ()
void setVisible (bool)
void possibleChangeMatTranspOrBrightness ()

Signals

void visibilityChanged (bool)

Public Member Functions

 IParticleCollHandle_Jet (AODSysCommonData *, const QString &name, xAOD::Type::ObjectType type)
virtual ~IParticleCollHandle_Jet ()
virtual void init (VP1MaterialButtonBase *matBut=0)
virtual void setupSettingsFromControllerSpecific (const AODSystemController *)
 For extensions specific to this collection.
virtual void dumpToJSON (std::ofstream &) const
const JetCollectionSettingsButtoncollSettingsButton () const
bool isRandomColors () const
QByteArray persistifiableState () const
 Provide specific implementation.
void setState (const QByteArray &)
 Provide specific implementation.
virtual void hintNumberOfHandlesInEvent (unsigned)
void addHandle (AODHandleBase *)
virtual void handleIterationBegin ()
virtual AODHandleBasegetNextHandle ()
QList< AODHandleBase * > getHandlesList () const
virtual bool mayHaveAssociatedObjects () const
const VP1IntervalgetCutAllowedEta ()
const QList< VP1Interval > & getCutAllowedPhi ()
bool getPtAllowall ()
bool getEtaAllowall ()
bool getPhiAllowall ()
void setupSettingsFromController (const AODSystemController *)
const QString & name () const
const AODSysCommonDatacommon () const
AODSysCommonDatacommon ()
const VP1ExtraSepLayerHelpersepHelper () const
VP1ExtraSepLayerHelpersepHelper ()
void setSepHelper (VP1ExtraSepLayerHelper *sh)
xAOD::Type::ObjectType xAODType () const
 Dummy implementation does nothing.
void recheckCutStatusOfAllVisibleHandles ()
void recheckCutStatusOfAllNotVisibleHandles ()
void recheckCutStatusOfAllHandles ()
void update3DObjectsOfAllHandles ()
void updateMaterialOfAllHandles ()
int nShownHandles ()
void incrementNShownHandles ()
void decrementNShownHandles ()
bool visible () const
bool isLoaded () const
bool problemsLoading () const
QString text () const
SoSwitch * collSwitch () const
 Add this somewhere in your scenegraph (do not add any children here!)
SoSeparator * collSep () const
 All 3D objects from this coll.
SoMaterial * material () const
double collMaterialTransparency () const
double collMaterialBrightness () const
virtual void largeChangesBegin ()
virtual void largeChangesEnd ()
qint32 collTypeID () const
QByteArray persistifiableID () const
QString section () const
QString sectionToolTip () const
virtual QList< QWidget * > widgetsForGuiRow () const
void setSystemBasePointer (IVP1System *sys)
void message (const QString &) const
void message (const QStringList &, const QString &addtoend="") const
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &) const
void messageDebug (const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &) const
void messageVerbose (const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
IVP1SystemsystemBase () const
const QString & helperClassName () const

Static Public Member Functions

static QStringList availableCollections (IVP1System *)
static VP1CollStates getStates (const QList< VP1Collection * > &)
static void applyStates (const QList< VP1Collection * > &, const VP1CollStates &)
static void updateStates (VP1CollStates &state, const VP1CollStates &newInfo)
template<class T>
static QList< VP1Collection * > toBaseCollList (const QList< T * > &)
static bool verbose ()
static void warnUndeletedInstances ()
static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Member Functions

virtual bool load ()
virtual bool cut (AODHandleBase *)
virtual QColor defaultColor () const
template<class T>
void cleanupPtrContainer (T &) const
void recheckCutStatus (AODHandleBase *)
qint32 provideCollTypeID () const
virtual QString provideSection () const
virtual QString provideSectionToolTip () const
virtual QString provideText () const
virtual void assignDefaultMaterial (SoMaterial *) const
virtual QString matButtonToolTip () const
QList< QWidget * > provideExtraWidgetsForGuiRow () const
QByteArray extraWidgetsState () const
void setExtraWidgetsState (const QByteArray &)
QList< QWidget * > provideWidgetsForGuiRow () const
virtual QString checkBoxToolTip () const
virtual void collMaterialTransparencyAndBrightnessChanged ()
virtual QByteArray providePersistifiableID () const
void setHelperClassName (const QString &n)

Private Slots

void showParametersChanged (bool)
void setScale (const double &s)
double scale () const
void setRandomJetColours (const bool &)
void rerandomise ()
void setMaxR (const double &max)
double maxR () const
void setBTaggingEnabled (const bool &)
void setBTaggingSkin (const QString &filename)
void setBTaggingMaterial (SoMaterial *mat=NULL)
void setBTaggingTagger (const QString &)
void setBTaggingCut (const double &)
void setBTaggingMaterialChanged (const bool &)
void setBTaggingSkinChanged (const bool &ok)
void resetCachedValuesCuts ()
void colourByComboBoxItemChanged ()
void collVisibilityChanged (bool)

Private Member Functions

void updateBTaggingAllJets ()
void updateBTaggingSwitchAllJets ()
void fillObjectBrowser ()
void updateObjectBrowserVisibilityCounts ()

Private Attributes

Impm_d
VP1Interval m_cut_allowedPtSq
VP1Interval m_cut_allowedEta
QList< VP1Intervalm_cut_allowedPhi
bool m_cut_pt_allowall
bool m_cut_eta_allowall
bool m_cut_phi_allowall
bool m_cut_etaptphi_allwillfail
Impm_dbase
int m_nshownhandles
xAOD::Type::ObjectType m_type
AODSysCommonDatam_commonData
VP1ExtraSepLayerHelperm_sephelper
QString m_helpername
IVP1Systemm_system

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")

Detailed Description

Definition at line 26 of file IParticleCollHandle_Jet.h.

Constructor & Destructor Documentation

◆ IParticleCollHandle_Jet()

IParticleCollHandle_Jet::IParticleCollHandle_Jet ( AODSysCommonData * cd,
const QString & name,
xAOD::Type::ObjectType type )

Definition at line 124 of file IParticleCollHandle_Jet.cxx.

126 : IParticleCollHandleBase(cd,name,type), m_d(new Imp)
127{
128 m_d->theclass = this;
129 m_d->updateGUICounter = 0;
130 m_d->collSettingsButton=0;
131
132 m_d->name = name;
133
134 //==========
135 // b-tagging
136 m_d->bTaggingSwitch=new SoSwitch;
137 m_d->bTaggingSwitch->whichChild=SO_SWITCH_ALL;
138 // new b-tagged jets and material
139 m_d->bTaggingTexture = new SoTexture2;
140 m_d->bTaggingMaterial = new SoMaterial;
141
142
143 //The object names should not contain all sorts of funky chars (mat button style sheets wont work for instance):
144 QString safetext(text());
145 safetext.replace(' ','_');
146 safetext.replace('[','_');
147 safetext.replace(']','_');
148 safetext.replace('/','_');
149 safetext.replace('.','_');
150 safetext.replace(',','_');
151 safetext.replace('<','_');
152 safetext.replace('>','_');
153 safetext.replace('&','_');
154
155 // m_d->defaultParametersMaterial = new SoMaterial;
156 // m_d->defaultParametersMaterial->setName(("IParticleCollHandle_Jet"+safetext).toStdString().c_str());
157 // m_d->defaultParametersMaterial->ref();
158 // m_d->matButton->setDefaultParameterMaterial(m_d->defaultParametersMaterial); FIXME
159}
const QString & name() const
IParticleCollHandleBase(AODSysCommonData *, const QString &name, xAOD::Type::ObjectType)
QString text() const

◆ ~IParticleCollHandle_Jet()

IParticleCollHandle_Jet::~IParticleCollHandle_Jet ( )
virtual

Definition at line 162 of file IParticleCollHandle_Jet.cxx.

163{
164 // m_d->defaultParametersMaterial->unref();
165
166 if (m_d->bTaggingSwitch) m_d->bTaggingSwitch->unref();
167
168 delete m_d;
169}

Member Function Documentation

◆ addHandle()

void IParticleCollHandleBase::addHandle ( AODHandleBase * ah)
virtualinherited

Implements AODCollHandleBase.

Definition at line 111 of file IParticleCollHandleBase.cxx.

112{
113 IParticleHandleBase* handle = dynamic_cast<IParticleHandleBase* >(ah);
114 if (!handle) {
115 message("ERROR - wrong handle type passed to IParticleCollHandleBase::addHandle!");
116 return;
117 }
118 m_d->handles.push_back(handle); // for the vector<handle>
119 m_d->handlesList << handle; // for the QList<handle>
120}
void message(const QString &) const

◆ applyStates()

void VP1Collection::applyStates ( const QList< VP1Collection * > & cols,
const VP1CollStates & states )
staticinherited

Definition at line 108 of file VP1Collection.cxx.

109{
110 VP1Msg::messageDebug("VP1Collection::applyStates() - start...");
111 for (VP1Collection* col : cols)
112 if (states.contains(col->persistifiableID()))
113 col->setState(states.value(col->persistifiableID()));
114 VP1Msg::messageDebug("VP1Collection::applyStates() - end.");
115}
VP1Collection(IVP1System *sys=0, const QString &helperClassName="VP1Collection")
static void messageDebug(const QString &)
Definition VP1Msg.cxx:39

◆ assignDefaultMaterial()

void AODCollHandleBase::assignDefaultMaterial ( SoMaterial * m) const
protectedvirtualinherited

Implements VP1StdCollection.

Definition at line 495 of file AODCollHandleBase.cxx.

496{
497 messageDebug("AODCollHandleBase::assignDefaultMaterial()");
498 VP1QtInventorUtils::setMatColor( m, defaultColor(), 0.18/*brightness*/ );
499}
virtual QColor defaultColor() const =0
void messageDebug(const QString &) const
static void setMatColor(SoMaterial *, const double &r, const double &g, const double &b, const double &brightness=0.0, const double &transp=0.0)

◆ availableCollections()

QStringList IParticleCollHandle_Jet::availableCollections ( IVP1System * sys)
static

Definition at line 71 of file IParticleCollHandle_Jet.cxx.

72 {
73 return VP1SGContentsHelper(sys).getKeys<xAOD::JetContainer>();
74 }
JetContainer_v1 JetContainer
Definition of the current "jet container version".

◆ checkBoxToolTip()

virtual QString VP1StdCollection::checkBoxToolTip ( ) const
inlineprotectedvirtualinherited

Reimplemented in VP1MissingEtCaloHandle, VP1MissingEtHandle, and VP1MissingEtTruthHandle.

Definition at line 76 of file VP1StdCollection.h.

76{ return "Collection "+text(); }

◆ cleanupPtrContainer()

template<class T>
void IParticleCollHandleBase::cleanupPtrContainer ( T & ) const
protectedinherited

◆ collMaterialBrightness()

double VP1StdCollection::collMaterialBrightness ( ) const
inherited

Definition at line 342 of file VP1StdCollection.cxx.

343{
344 return m_d->lastMatBrightness;
345}

◆ collMaterialTransparency()

double VP1StdCollection::collMaterialTransparency ( ) const
inherited

Definition at line 336 of file VP1StdCollection.cxx.

337{
338 return m_d->lastMatTransparency;
339}

◆ collMaterialTransparencyAndBrightnessChanged()

virtual void VP1StdCollection::collMaterialTransparencyAndBrightnessChanged ( )
inlineprotectedvirtualinherited

Reimplemented in TrackCollHandleBase.

Definition at line 79 of file VP1StdCollection.h.

79{}

◆ collSep()

SoSeparator * VP1StdCollection::collSep ( ) const
inherited

All 3D objects from this coll.

belongs under here.

Definition at line 212 of file VP1StdCollection.cxx.

213{
214 if (!m_d->collsep)
215 message("ERROR: collSep() called before init()");
216 return m_d->collsep;
217}

◆ collSettingsButton()

const JetCollectionSettingsButton & IParticleCollHandle_Jet::collSettingsButton ( ) const

Definition at line 279 of file IParticleCollHandle_Jet.cxx.

279 {
280 if (!m_d->collSettingsButton){
281 messageVerbose("Jet - No collSettingsButton set! Can't call init(), so crash is imminent...");
282 throw std::runtime_error("Jet - No collSettingsButton set!");
283 }
284 return *m_d->collSettingsButton;
285}
void messageVerbose(const QString &) const

◆ collSwitch()

SoSwitch * VP1StdCollection::collSwitch ( ) const
inherited

Add this somewhere in your scenegraph (do not add any children here!)

Definition at line 204 of file VP1StdCollection.cxx.

205{
206 if (!m_d->theswitch)
207 message("ERROR: collSwitch() called before init()");
208 return m_d->theswitch;
209}

◆ collTypeID()

qint32 VP1StdCollection::collTypeID ( ) const
inherited

Definition at line 315 of file VP1StdCollection.cxx.

316{
317 if (!m_d->idProvided) {
318 m_d->idProvided = true;
319 m_d->id = provideCollTypeID();
320 }
321 return m_d->id;
322}
virtual qint32 provideCollTypeID() const

◆ collVisibilityChanged

void AODCollHandleBase::collVisibilityChanged ( bool vis)
privateslotinherited

Definition at line 393 of file AODCollHandleBase.cxx.

394{
395 if (VP1Msg::verbose())
396 messageVerbose("AODCollHandleBase::collVisibilityChanged => "+str(vis));
397
398 if (!m_sephelper)
399 m_sephelper = new VP1ExtraSepLayerHelper(collSep());
400
401 if (!m_dbase->objBrowseTree)
403
404 if (vis){
405 recheckCutStatusOfAllNotVisibleHandles();//Fixme -> ofallhandles? All must be not visible anyway...
406 if (m_dbase->objBrowseTree) m_dbase->objBrowseTree->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
407 }else{
409 // QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
410 // if (m_dbase->objBrowseTree && trkObjBrowser) {
411 // trkObjBrowser->takeTopLevelItem(trkObjBrowser->indexOfTopLevelItem(m_dbase->objBrowseTree));
412 // delete m_dbase->objBrowseTree; m_dbase->objBrowseTree=0;
413 // }
414 // FIXME - need to loop through handles setting pointers to deleted QTreeWidgetItems
415 if (m_dbase->objBrowseTree) m_dbase->objBrowseTree->setFlags(Qt::ItemFlags()); // not selectable, not enabled
416 }
417}
void recheckCutStatusOfAllNotVisibleHandles()
void recheckCutStatusOfAllVisibleHandles()
VP1ExtraSepLayerHelper * m_sephelper
static bool verbose()
Definition VP1Msg.h:31
SoSeparator * collSep() const
All 3D objects from this coll.
static QString str(const QString &s)
Definition VP1String.h:49

◆ colourByComboBoxItemChanged

void AODCollHandleBase::colourByComboBoxItemChanged ( )
privateslotinherited

Definition at line 536 of file AODCollHandleBase.cxx.

537{
538 messageVerbose("AODCollHandleBase::colourByComboBoxItemChanged()");
539 messageVerbose("Collection detail level combo box changed index");
540
541 messageVerbose("TO BE IMPLEMENTED!!!");
542 /*
543 if (m_dbase->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByRandom())
544 setColourBy(COLOUR_RANDOM);
545 else
546 setColourBy(COLOUR_PERCOLLECTION);
547 */
548}

◆ common() [1/2]

AODSysCommonData * AODCollHandleBase::common ( )
inlineinherited

Definition at line 89 of file AODCollHandleBase.h.

89{ return m_commonData; }
AODSysCommonData * m_commonData

◆ common() [2/2]

const AODSysCommonData * AODCollHandleBase::common ( ) const
inlineinherited

Definition at line 88 of file AODCollHandleBase.h.

88{ return m_commonData; }

◆ cut()

bool IParticleCollHandle_Jet::cut ( AODHandleBase * c)
protectedvirtual

Reimplemented from IParticleCollHandleBase.

Definition at line 533 of file IParticleCollHandle_Jet.cxx.

533 {
534 messageVerbose("IParticleCollHandle_Jet::cut()");
535
536 if (IParticleHandle_Jet* handle = dynamic_cast<IParticleHandle_Jet*>(c))
537 {
538
539 //------ ENERGY CUTS
540 messageVerbose("jet's energy, allowedPt^2, PtAll: - " + QString::number(handle->energyForCuts()) + " - " + getCutAllowedPt().toString() + " - " + QString::number(int(getPtAllowall())) );
541 double jEnergy = handle->energyForCuts();
542 double jEnergySqr = jEnergy * jEnergy; // in IParticleCollHandleBase the allowedPt is stored as squared, to avoid square-root operations
543 if (!getPtAllowall() && !getCutAllowedPt().contains(jEnergySqr) ) {
544 messageVerbose("Pt cut not passed");
545 return false;
546 } else {
547 messageVerbose("Pt cut passed!!");
548 }
549
550 //------ ETA CUTS
551 messageVerbose("jet's eta, etaCut, EtaAll: " + QString::number(handle->eta()) + " - " + getCutAllowedEta().toString() + " - " + QString::number(int(getEtaAllowall())) );
552 if (!getEtaAllowall() && !getCutAllowedEta().contains(handle->eta())) {
553 messageVerbose("Eta cut not passed");
554 return false;
555 }
556
557 //------ PHI CUTS
558 if (!getPhiAllowall() ) {
559 double phi = handle->phi();
560 bool ok(false);
561 for (const VP1Interval& phirange : getCutAllowedPhi() ) {
562 messageVerbose("jet's phi, phiCut, PhiAll: " + QString::number(phi) + " - " + phirange.toString() + " - " + QString::number(int(getPhiAllowall())) );
563 if (phirange.contains(phi)||phirange.contains(phi+2*M_PI)||phirange.contains(phi-2*M_PI)) {
564 ok = true;
565 break;
566 }
567 }
568 if (!ok) {
569 messageVerbose("Phi cut not passed");
570 return false;
571 }
572 }
573
574 //------ OTHER CUTS
575 messageVerbose("Other cuts??? Calling base method...");
576 if (!IParticleCollHandleBase::cut(handle))
577 return false;
578
579 } // if(dynamic_cast)
580 else{
581 messageVerbose("Not a IParticleCollHandle_Jet. Calling base method...");
582 if (!IParticleCollHandleBase::cut(handle))
583 return false;
584 }
585
586 return true; //default
587
588}
#define M_PI
Scalar phi() const
phi method
const VP1Interval & getCutAllowedEta()
const QList< VP1Interval > & getCutAllowedPhi()
const VP1Interval & getCutAllowedPt()
virtual bool cut(AODHandleBase *)
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.

◆ decrementNShownHandles()

void AODCollHandleBase::decrementNShownHandles ( )
inlineinherited

Definition at line 133 of file AODCollHandleBase.h.

◆ defaultColor()

virtual QColor IParticleCollHandle_Jet::defaultColor ( ) const
inlineprotectedvirtual

Implements IParticleCollHandleBase.

Definition at line 60 of file IParticleCollHandle_Jet.h.

60{ return QColor::fromRgbF(1.0f, 1.0f, 0.5f); } // light yellow

◆ dumpToJSON()

void IParticleCollHandle_Jet::dumpToJSON ( std::ofstream & str) const
virtual

Reimplemented from AODCollHandleBase.

Definition at line 856 of file IParticleCollHandle_Jet.cxx.

856 {
857 str << "\""<<name().toLatin1().data()<<"\":{";
858
859 unsigned int num=0;
860 for (auto handle : getHandlesList() ) {
861 if (handle->visible()) {
862 if (num) str <<",\n";
863 handle->dumpToJSON(str);
864 }
865 }
866
867 str << "}";
868}
QList< AODHandleBase * > getHandlesList() const

◆ extraWidgetsState()

QByteArray AODCollHandleBase::extraWidgetsState ( ) const
protectedvirtualinherited

Reimplemented from VP1StdCollection.

Definition at line 510 of file AODCollHandleBase.cxx.

511{
512 VP1Serialise serialise(0/*version*/,systemBase());
513 // serialise.save(m_dbase->comboBox_colourby);
514 // serialise.disableUnsavedChecks();
515 return serialise.result();
516}
IVP1System * systemBase() const
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors

◆ fillObjectBrowser()

void AODCollHandleBase::fillObjectBrowser ( )
privateinherited

Definition at line 431 of file AODCollHandleBase.cxx.

432{
433 QElapsedTimer t;
434 t.start();
435 messageVerbose("AODCollHandleBase::fillObjectBrowser called for "+name());
436
437 QTreeWidget* trkObjBrowser = common()->controller()->objBrowser();
438 if (!trkObjBrowser) {
439 messageVerbose("AODCollHandleBase::fillObjectBrowser: no common()->controller()->objBrowser(). Aborting");
440 return;
441 }
442 // if (!nShownHandles()) {
443 // messageVerbose("AODCollHandleBase::fillObjectBrowser: no shown handles, so leaving.");
444 // return; // don't bother with hidden collection
445 // }
446
447 trkObjBrowser->setUpdatesEnabled(false);
448
449 bool firstTime=false;
450 if (!m_dbase->objBrowseTree) {
451 m_dbase->objBrowseTree = new QTreeWidgetItem(0);
452 firstTime=true;
453 messageVerbose("AODCollHandleBase::fillObjectBrowser: First time so creating QTreeWidgetItem.");
454 } else {
455 int index = trkObjBrowser->indexOfTopLevelItem(m_dbase->objBrowseTree);
456 if (index==-1 ) {
457 messageVerbose("Missing from WidgetTree! Will continue but something must be wrong");
458 }
459 }
460
461 messageVerbose("AODCollHandleBase::fillObjectBrowser about to start looping over handles at "+QString::number(t.elapsed())+" ms");
462
463 QList<QTreeWidgetItem *> list;
465 AODHandleBase* handle=0;
466 unsigned int i=0;
467 unsigned int numVisible=0;
468 while ((handle=getNextHandle()))
469 {
470 if (firstTime){
471 handle->fillObjectBrowser(list);
472 } else {
473 handle->updateObjectBrowser();
474 }
475
476 // messageVerbose("AODCollHandleBase::fillObjectBrowser for handle completed in "+QString::number(t.elapsed()));
477
478 if (handle->visible() ) numVisible++;
479 i++;
480 }
481
482 QString text(QString(": (")+QString::number(numVisible)+QString("/")+QString::number(i)+QString(") visible"));
483
484 m_dbase->objBrowseTree->setText(0, name());
485 m_dbase->objBrowseTree->setText(1, text);
486 m_dbase->objBrowseTree->addChildren(list);
487 trkObjBrowser->addTopLevelItem(m_dbase->objBrowseTree);
488 trkObjBrowser->setUpdatesEnabled(true);
489
490 messageVerbose("AODCollHandleBase::fillObjectBrowser completed in "+QString::number(t.elapsed())+" ms");
491
492}
const AODSysCommonData * common() const
virtual void handleIterationBegin()=0
virtual AODHandleBase * getNextHandle()=0
void updateObjectBrowser()
Update object browser QTreeWidgetItem.
bool visible() const
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Create and fill the object browser QTreeWidgetItem.
const AODSystemController * controller() const
QTreeWidget * objBrowser() const
Returns a pointer to the Track Object Browser (if it exists)
str index
Definition DeMoScan.py:362
list(name, path='/')
Definition histSizes.py:38

◆ getCutAllowedEta()

const VP1Interval & IParticleCollHandleBase::getCutAllowedEta ( )
inlineinherited

Definition at line 112 of file IParticleCollHandleBase.h.

◆ getCutAllowedPhi()

const QList< VP1Interval > & IParticleCollHandleBase::getCutAllowedPhi ( )
inlineinherited

Definition at line 113 of file IParticleCollHandleBase.h.

113{return m_cut_allowedPhi; };
QList< VP1Interval > m_cut_allowedPhi

◆ getCutAllowedPt

const VP1Interval & IParticleCollHandleBase::getCutAllowedPt ( )
inlineslotinherited

Definition at line 111 of file IParticleCollHandleBase.h.

◆ getEtaAllowall()

bool IParticleCollHandleBase::getEtaAllowall ( )
inlineinherited

Definition at line 115 of file IParticleCollHandleBase.h.

◆ getHandlesList()

QList< AODHandleBase * > IParticleCollHandleBase::getHandlesList ( ) const
virtualinherited

Implements AODCollHandleBase.

Definition at line 139 of file IParticleCollHandleBase.cxx.

140{
141 messageVerbose("AODCollHandleBase::getHandlesList()");
142 return m_d->handlesList;
143}

◆ getNextHandle()

AODHandleBase * IParticleCollHandleBase::getNextHandle ( )
virtualinherited

Implements AODCollHandleBase.

Definition at line 130 of file IParticleCollHandleBase.cxx.

130 {
131 if (m_d->itHandles==m_d->itHandlesEnd)
132 // if (m_d->itHandles==m_d->itHandlesEnd || m_d->itHandles!=m_d->handles.begin()) // Only use first handle (for debugging)
133 return 0;
134 else
135 return *(m_d->itHandles++);
136}

◆ getPhiAllowall()

bool IParticleCollHandleBase::getPhiAllowall ( )
inlineinherited

Definition at line 116 of file IParticleCollHandleBase.h.

◆ getPtAllowall()

bool IParticleCollHandleBase::getPtAllowall ( )
inlineinherited

Definition at line 114 of file IParticleCollHandleBase.h.

◆ getStates()

VP1CollStates VP1Collection::getStates ( const QList< VP1Collection * > & cols)
staticinherited

Definition at line 92 of file VP1Collection.cxx.

93{
94 VP1Msg::messageDebug("VP1Collection::getStates() - start...");
95
97 for (VP1Collection* col : cols) {
98 VP1Msg::messageDebug("inserting collection: " + col->section() );
99 states.insert(col->persistifiableID(),col->persistifiableState());
100 }
101
102 VP1Msg::messageDebug("VP1Collection::getStates() - end.");
103
104 return states;
105}
QMap< QByteArray, QByteArray > VP1CollStates

◆ handleIterationBegin()

void IParticleCollHandleBase::handleIterationBegin ( )
virtualinherited

Implements AODCollHandleBase.

Definition at line 123 of file IParticleCollHandleBase.cxx.

124{
125 m_d->itHandles = m_d->handles.begin();
126 m_d->itHandlesEnd = m_d->handles.end();
127}

◆ helperClassName()

const QString & VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51{ return m_helpername; }

◆ hintNumberOfHandlesInEvent()

void IParticleCollHandleBase::hintNumberOfHandlesInEvent ( unsigned n)
virtualinherited

Implements AODCollHandleBase.

Definition at line 105 of file IParticleCollHandleBase.cxx.

106{
107 m_d->handles.reserve(n);
108}

◆ incrementNShownHandles()

void AODCollHandleBase::incrementNShownHandles ( )
inlineinherited

Definition at line 132 of file AODCollHandleBase.h.

132{ ++m_nshownhandles; }

◆ init()

void IParticleCollHandle_Jet::init ( VP1MaterialButtonBase * matBut = 0)
virtual

Implements AODCollHandleBase.

Definition at line 172 of file IParticleCollHandle_Jet.cxx.

173{
174 messageDebug("IParticleCollHandle_Jet::init()");
175
176 m_d->collSettingsButton = new JetCollectionSettingsButton(0, 25, m_d->name); // 0 and 25 are default values
177 m_d->collSettingsButton->setMaterialText(name());
178
179 // 1st - CALLING THE "init" OF THE BASE CLASS
180 // NOTE!!
181 // It must be called before other material/button settings,
182 // otherwise they get overridden
183 // std::cout<<"Calling VP1StdCollection::init with m_d->matButton (JetCollectionSettingsButton)="<<m_d->matButton<<std::endl;
184 VP1StdCollection::init(m_d->collSettingsButton); //--->this call is required!! Passing in m_d->collSettingsButton means we have the more complex button that allows cuts
185 setupSettingsFromController(common()->controller());
186 connect(this,SIGNAL(visibilityChanged(bool)),this,SLOT(collVisibilityChanged(bool)));
187
188
189 // create semi-transparent material for all jets, with the default color
190 m_d->m_jetMaterialDefault = VP1MaterialButton::createMaterial(defaultColor(), 0.2, 0.3); // RGBcolor, brightness, transparency
191 m_d->m_jetMaterialDefault->ref();
192 // init material for all jets
193 m_d->collSettingsButton->setMaterial(m_d->m_jetMaterialDefault);
194 messageVerbose("set new jet color=" + str(m_d->collSettingsButton->getMaterialButton()->lastAppliedDiffuseColour()));
195
196
197 // std::cout<<"IParticleCollHandle_Jet::init 2"<<std::endl;
198 // std::cout<<"swi: "<<collSwitch()<<std::endl;
199 // std::cout<<"sep: "<<collSep()<<std::endl;
200 // std::cout<<"mat: "<<material()<<std::endl;
201
202 // collSwitch()->addChild(m_d->collSettingsButton->trackLightModel()); // TODO: update for jets
203 // collSwitch()->addChild(m_d->collSettingsButton->trackDrawStyle()); // TODO: update for jets
204
205 //==========
206 // b-tagging
207 if(m_d->collSettingsButton->is_bTaggingSkinEnabled()) {
208 setBTaggingSkin(m_d->collSettingsButton->bTaggingSkin());
209 // m_d->bTaggingSwitch->addChild(m_d->bTaggingTexture);
210 }
211 else if (m_d->collSettingsButton->is_bTaggingMaterialEnabled()) {
213 // m_d->bTaggingMaterial = controller->bTaggingMaterial();
214 // m_d->bTaggingSwitch->addChild(m_d->bTaggingMaterial);
215 }
216 else {
217 messageVerbose("Info - No b-tag rendering selected.");
218 }
219
220 // we want these nodes to stay around even when removed from nodes, thus we increment the ref count by one
221 m_d->bTaggingSwitch->ref();
222 // m_d->bTaggingTexture->ref();
223 // m_d->bTaggingMaterial->ref();
224
225}
void setupSettingsFromController(const AODSystemController *)
void setBTaggingMaterial(SoMaterial *mat=NULL)
void setBTaggingSkin(const QString &filename)
virtual QColor defaultColor() const
static SoMaterial * createMaterial(const QColor &, const double &brightness=0.0, const double &transp=0.0)
virtual void init(VP1MaterialButtonBase *button=0)
void visibilityChanged(bool)

◆ isLoaded()

bool VP1StdCollection::isLoaded ( ) const
inherited

Definition at line 148 of file VP1StdCollection.cxx.

149{
150 return m_d->loaded;
151}

◆ isRandomColors()

bool IParticleCollHandle_Jet::isRandomColors ( ) const

Definition at line 382 of file IParticleCollHandle_Jet.cxx.

383{
384 VP1Msg::messageVerbose("IParticleCollHandle_Jet::isRandomColors()");
385 return m_d->randomColours;
386}
static void messageVerbose(const QString &)
Definition VP1Msg.cxx:84

◆ largeChangesBegin()

void VP1StdCollection::largeChangesBegin ( )
virtualinherited

Reimplemented in VP1CaloClusterCollection.

Definition at line 228 of file VP1StdCollection.cxx.

229{
230 if (!m_d->collsep)
231 message("ERROR: largeChangesBegin() called before init()");
232 m_d->collsep->enableNotify(false);
233 ++(m_d->largechangescount_sep);
234 m_d->theswitch->enableNotify(false);
235 ++(m_d->largechangescount_switch);
236}

◆ largeChangesEnd()

void VP1StdCollection::largeChangesEnd ( )
virtualinherited

Reimplemented in VP1CaloClusterCollection.

Definition at line 239 of file VP1StdCollection.cxx.

240{
241 if (!m_d->collsep)
242 message("ERROR: largeChangesEnd() called before init()");
243 if (m_d->largechangescount_sep>0) {
244 if (--(m_d->largechangescount_sep)==0) {
245 m_d->collsep->enableNotify(true);
246 m_d->collsep->touch();
247 }
248 }
249 if (m_d->largechangescount_switch>0) {
250 if (--(m_d->largechangescount_switch)==0) {
251 m_d->theswitch->enableNotify(true);
252 m_d->theswitch->touch();
253 }
254 }
255}

◆ load()

bool IParticleCollHandle_Jet::load ( )
protectedvirtual

Implements VP1StdCollection.

Definition at line 461 of file IParticleCollHandle_Jet.cxx.

462{
463 messageVerbose("loading Jet collection");
464
465 //Get collection:
466 const xAOD::JetContainer * coll(nullptr);
467
468 #if defined BUILDVP1LIGHT
469 // // Get the name of the application:
470 // const char* appName = "VP1Light";
471
472 // // Initialize the environment:
473 // if( !xAOD::Init( appName ).isSuccess() ) {
474 // message("Failed to execute xAOD::Init");
475 // return false;
476 // }
477
478 // Retrieve objects from the event
479 if( !(systemBase()->getEvent())->retrieve( coll, name().toStdString()).isSuccess() ) {
480 QString errMsg = "Failed to retrieve " + name();
481 message("Error: Could not retrieve collection with key="+name());
482 return false;
483 }
484 #else
485 if (!VP1SGAccessHelper(systemBase()).retrieve(coll, name())) {
486 message("Error: Could not retrieve Jet collection with key="+name());
487 return false;
488 } else {
489 messageDebug("Jet collection '"+name()+"' loaded");
490 }
491 #endif // BUILDVP1LIGHT
492
493
494 // // Retrieve the xAOD particles:
495 // const xAOD::JetContainer* xaod = evtStore()->retrieve<const xAOD::JetContainer>( m_JetCollection );
496
497 // Check that the auxiliary store association was made successfully:
498 if( ! coll->hasStore() ) {
499 message("No auxiliary store got associated to the Jet container with key: " +name());
500 }
501
502 // This is needed for now, until the issues around the DV code are
503 // sorted out...
504 const_cast< xAOD::JetContainer* >( coll )->setStore(
505 ( SG::IAuxStore* ) coll->getConstStore() );
506
507 //Make appropriate Jet handles:
508 // hintNumberOfTracksInEvent(coll->size());
509 xAOD::JetContainer::const_iterator it, itEnd = coll->end();
510 for ( it = coll->begin() ; it != itEnd; ++it) {
511 m_d->possiblyUpdateGUI();
512 if (!*it) {
513 messageDebug("WARNING: Ignoring null Jet pointer.");
514 continue;
515 }
516 /*
517 if ((*it)->charge()==0.0) {
518 messageDebug("WARNING: Ignoring which claims to be neutral (charge()==0.0).");
519 continue;
520 }
521 */
522 addHandle(new IParticleHandle_Jet(this,*it));
523 }
524
525 // get handles list and update locally
526 // m_d->jets = this->getHandlesList();
527
528 return true;
529}
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ matButtonToolTip()

virtual QString AODCollHandleBase::matButtonToolTip ( ) const
inlineprotectedvirtualinherited

Reimplemented from VP1StdCollection.

Definition at line 156 of file AODCollHandleBase.h.

156{ return "Edit cuts/properties/material for "+text(); }

◆ material()

SoMaterial * VP1StdCollection::material ( ) const
inherited

Definition at line 220 of file VP1StdCollection.cxx.

221{
222 if (!m_d->material)
223 message("ERROR: material() called before init()");
224 return m_d->material;
225}

◆ maxR

double IParticleCollHandle_Jet::maxR ( ) const
privateslot

Definition at line 339 of file IParticleCollHandle_Jet.cxx.

340{
341 return m_d->maxR;
342}

◆ mayHaveAssociatedObjects()

virtual bool IParticleCollHandleBase::mayHaveAssociatedObjects ( ) const
inlinevirtualinherited

Definition at line 97 of file IParticleCollHandleBase.h.

97{ return false; }

◆ message() [1/3]

void VP1HelperClassBase::message ( const QString & str) const
inherited

Definition at line 49 of file VP1HelperClassBase.cxx.

50{
51 if (m_helpername.isEmpty()) {
52 if (m_system)
53 m_system->message(str);
54 else
55 std::cout<<VP1Msg::prefix_msg()<<" [nameless helper class]: "<<str.toStdString()<<std::endl;
56 } else {
57 if (m_system)
58 m_system->message("["+m_helpername+"] " + str);
59 else
60 std::cout<<VP1Msg::prefix_msg()<<" ["<<m_helpername.toStdString()<<"]: "<<str.toStdString()<<std::endl;
61 }
62}
static const char * prefix_msg()
Definition VP1Msg.h:56

◆ message() [2/3]

void VP1HelperClassBase::message ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 131 of file VP1HelperClassBase.cxx.

132{
133 if (addtostart.isEmpty()) {
134 message(l,addtoend);
135 return;
136 }
137 if (addtoend.isEmpty()) {
138 for (const QString& s : l)
139 message(addtostart+s);
140 } else {
141 for (const QString& s : l)
142 message(addtostart+s+addtoend);
143 }
144}

◆ message() [3/3]

void VP1HelperClassBase::message ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 91 of file VP1HelperClassBase.cxx.

92{
93 if (addtoend.isEmpty()) {
94 for (const QString& s : l)
95 message(s);
96 } else {
97 for (const QString& s : l)
98 message(s+addtoend);
99 }
100}

◆ messageDebug() [1/3]

void VP1HelperClassBase::messageDebug ( const QString & str) const
inherited

Definition at line 65 of file VP1HelperClassBase.cxx.

66{
67 if (!VP1Msg::debug())
68 return;
69 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
70 if (m_helpername.isEmpty()) {
71 std::cout<<VP1Msg::prefix_debug()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
72 } else {
73 std::cout<<VP1Msg::prefix_debug()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
74 }
75}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ messageDebug() [2/3]

void VP1HelperClassBase::messageDebug ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 147 of file VP1HelperClassBase.cxx.

148{
149 if (!VP1Msg::debug())
150 return;
151 if (addtostart.isEmpty()) {
152 messageDebug(l,addtoend);
153 return;
154 }
155 if (addtoend.isEmpty()) {
156 for (const QString& s : l)
157 messageDebug(addtostart+s);
158 } else {
159 for (const QString& s : l)
160 messageDebug(addtostart+s+addtoend);
161 }
162}

◆ messageDebug() [3/3]

void VP1HelperClassBase::messageDebug ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 103 of file VP1HelperClassBase.cxx.

104{
105 if (!VP1Msg::debug())
106 return;
107 if (addtoend.isEmpty()) {
108 for (const QString& s : l)
109 messageDebug(s);
110 } else {
111 for (const QString& s : l)
112 messageDebug(s+addtoend);
113 }
114}

◆ messageVerbose() [1/3]

void VP1HelperClassBase::messageVerbose ( const QString & str) const
inherited

Definition at line 78 of file VP1HelperClassBase.cxx.

79{
80 if (!VP1Msg::verbose())
81 return;
82 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
83 if (m_helpername.isEmpty()) {
84 std::cout<<VP1Msg::prefix_verbose()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
85 } else {
86 std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
87 }
88}
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ messageVerbose() [2/3]

void VP1HelperClassBase::messageVerbose ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 165 of file VP1HelperClassBase.cxx.

166{
167 if (!VP1Msg::verbose())
168 return;
169 if (addtostart.isEmpty()) {
170 messageVerbose(l,addtoend);
171 return;
172 }
173 if (addtoend.isEmpty()) {
174 for (const QString& s : l)
175 messageVerbose(addtostart+s);
176 } else {
177 for (const QString& s : l)
178 messageVerbose(addtostart+s+addtoend);
179 }
180}

◆ messageVerbose() [3/3]

void VP1HelperClassBase::messageVerbose ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 117 of file VP1HelperClassBase.cxx.

118{
119 if (!VP1Msg::verbose())
120 return;
121 if (addtoend.isEmpty()) {
122 for (const QString& s : l)
124 } else {
125 for (const QString& s : l)
126 messageVerbose(s+addtoend);
127 }
128}

◆ name()

const QString & AODCollHandleBase::name ( ) const
inherited

Definition at line 130 of file AODCollHandleBase.cxx.

131{
132 return m_dbase->name;
133}

◆ nShownHandles()

int AODCollHandleBase::nShownHandles ( )
inlineinherited

Definition at line 129 of file AODCollHandleBase.h.

129{ return m_nshownhandles; }

◆ persistifiableID()

QByteArray VP1Collection::persistifiableID ( ) const
inherited

Definition at line 49 of file VP1Collection.cxx.

50{
51 VP1Msg::messageDebug("VP1Collection::persistifiableID()");
52
53 if (!m_d->persistIDProvided) {
54 m_d->persistIDProvided = true;
55 m_d->persistID = providePersistifiableID().toHex();//toHex() necessary for some unknown reason!
56 //Without it keys in maps are apparently considered similar! (Qt bug??)
57 }
58 return m_d->persistID;
59}
virtual QByteArray providePersistifiableID() const =0

◆ persistifiableState()

QByteArray IParticleCollHandle_Jet::persistifiableState ( ) const
virtual

Provide specific implementation.

Reimplemented from IParticleCollHandleBase.

Definition at line 770 of file IParticleCollHandle_Jet.cxx.

771{
772 messageDebug("IParticleCollHandle_Jet::persistifiableState() - start...");
773
774 // if (!m_d->matButton) {
775 // message("ERROR: persistifiableState() called before init()");
776 // return QByteArray();
777 // }
778
779
780 VP1Serialise serialise(1/*version*/);
781
782 // settings
783 serialise.disableUnsavedChecks();
784
785 // SAVE THE CHECKED/UNCHECKED STATUS OF THE COLLECTION
786 serialise.save(visible());
787
788 // SAVE THE MATERIAL BUTTON
789 //Q_ASSERT(m_d->matButton&&"Did you forget to call init() on this VP1StdCollection?");
790 //serialise.save(m_d->matButton->saveState());
791
792 // SAVE THE EXTRA-STATES
793 serialise.save(extraWidgetsState());//version 1+
794
795 // SAVE MATERIAL SETTINGS / CUTS
796 serialise.save(m_d->collSettingsButton->saveState());
797
798 messageDebug("IParticleCollHandle_Jet::persistifiableState() - end.");
799 return serialise.result();
800}
QByteArray extraWidgetsState() const

◆ possibleChangeMatTranspOrBrightness

void VP1StdCollection::possibleChangeMatTranspOrBrightness ( )
slotinherited

Definition at line 348 of file VP1StdCollection.cxx.

349{
350 double t = m_d->matButton->lastAppliedTransparency();
351 double b = m_d->matButton->lastAppliedBrightness();
352 if ( m_d->lastMatTransparency == t && m_d->lastMatBrightness == b )
353 return;
354 m_d->lastMatTransparency = t;
355 m_d->lastMatBrightness = b;
357}
virtual void collMaterialTransparencyAndBrightnessChanged()

◆ problemsLoading()

bool VP1StdCollection::problemsLoading ( ) const
inherited

Definition at line 154 of file VP1StdCollection.cxx.

155{
156 return m_d->problemsloading;
157}

◆ provideCollTypeID()

qint32 AODCollHandleBase::provideCollTypeID ( ) const
protectedvirtualinherited

Reimplemented from VP1StdCollection.

Definition at line 375 of file AODCollHandleBase.cxx.

376{
377 return m_type; // This is the xAOD::Type::ObjectType value
378}
xAOD::Type::ObjectType m_type

◆ provideExtraWidgetsForGuiRow()

QList< QWidget * > AODCollHandleBase::provideExtraWidgetsForGuiRow ( ) const
protectedvirtualinherited

Reimplemented from VP1StdCollection.

Definition at line 503 of file AODCollHandleBase.cxx.

504{
505 // return QList<QWidget*>() << m_dbase->comboBox_colourby;
506 return QList<QWidget*>();
507}

◆ providePersistifiableID()

QByteArray VP1StdCollection::providePersistifiableID ( ) const
protectedvirtualinherited

Implements VP1Collection.

Reimplemented in VP1MissingEtHandle.

Definition at line 325 of file VP1StdCollection.cxx.

326{
327 VP1Serialise serialise(-10/*version*/);//we use negative versions here (0 and -10 already used),
328 //to allow derived classes to use positive numbers.
329 serialise.disableUnsavedChecks();
330 serialise.save(collTypeID());
331 serialise.save(text());
332 return serialise.result();
333}
qint32 collTypeID() const

◆ provideSection()

QString AODCollHandleBase::provideSection ( ) const
protectedvirtualinherited

Implements VP1Collection.

Definition at line 380 of file AODCollHandleBase.cxx.

380 {
381
382 std::stringstream ss;
383 ss << m_type;
384 QString section = QString::fromStdString(ss.str());
385 return section;
386}
static Double_t ss
QString section() const

◆ provideSectionToolTip()

QString AODCollHandleBase::provideSectionToolTip ( ) const
protectedvirtualinherited

Reimplemented from VP1Collection.

Definition at line 388 of file AODCollHandleBase.cxx.

388 {
389 return QString("TODO!");
390}

◆ provideText()

virtual QString AODCollHandleBase::provideText ( ) const
inlineprotectedvirtualinherited

Implements VP1StdCollection.

Definition at line 153 of file AODCollHandleBase.h.

153{ return name(); };//FIXME

◆ provideWidgetsForGuiRow()

QList< QWidget * > VP1StdCollection::provideWidgetsForGuiRow ( ) const
protectedvirtualinherited

Implements VP1Collection.

Definition at line 258 of file VP1StdCollection.cxx.

259{
260 m_d->extraWidgets = provideExtraWidgetsForGuiRow();
261
262 QList<QWidget*> l;
263 l << m_d->checkBox;
264 l << m_d->matButton;
265 l << m_d->extraWidgets;
266 return l;
267}
virtual QList< QWidget * > provideExtraWidgetsForGuiRow() const
l
Printing final latex table to .tex output file.

◆ recheckCutStatus()

void AODCollHandleBase::recheckCutStatus ( AODHandleBase * handle)
protectedinherited

Definition at line 137 of file AODCollHandleBase.cxx.

138{
139 messageVerbose("AODCollHandleBase::recheckCutStatus() & visible="+str(visible()));
140 handle->setVisible( visible() && cut(handle));
141}
virtual bool cut(AODHandleBase *)=0
void setVisible(bool)
use by the collection handle.

◆ recheckCutStatusOfAllHandles()

void AODCollHandleBase::recheckCutStatusOfAllHandles ( )
inherited

Definition at line 203 of file AODCollHandleBase.cxx.

204{
205 messageVerbose("AODCollHandleBase::recheckCutStatusOfAllHandles()");
206 if (!isLoaded())
207 return;
210 AODHandleBase* handle=0;
211 while ((handle=getNextHandle()))
212 {
213 if (handle->visible())
214 recheckCutStatus(handle);
215 }
218
219 message("recheckCutStatusOfAllHandles: "+str(nShownHandles())+"/"+str(getHandlesList().count())+" pass cuts");
220}
void recheckCutStatus(AODHandleBase *)
virtual QList< AODHandleBase * > getHandlesList() const =0
void updateObjectBrowserVisibilityCounts()
virtual void largeChangesEnd()
virtual void largeChangesBegin()
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:146

◆ recheckCutStatusOfAllNotVisibleHandles()

void AODCollHandleBase::recheckCutStatusOfAllNotVisibleHandles ( )
inherited

Definition at line 177 of file AODCollHandleBase.cxx.

178{
179 messageVerbose("AODCollHandleBase::recheckCutStatusOfAllNotVisibleHandles");
180
181 if (!isLoaded()){
182 messageVerbose("AODCollHandleBase::recheckCutStatusOfAllNotVisibleHandles - not yet loaded. Aborting.");
183 return;
184 }
185
187 AODHandleBase* handle=0;
188 // unsigned int i=0;
190 while ((handle=getNextHandle()))
191 {
192 // std::cout<<"Looking at handle "<<++i<<" with visible="<<handle->visible()<<std::endl;
193 if (!handle->visible())
194 recheckCutStatus(handle);
195 }
198
199 message("recheckCutStatusOfAllNotVisibleHandles: "+str(nShownHandles())+"/"+str(getHandlesList().count())+" pass cuts");
200}

◆ recheckCutStatusOfAllVisibleHandles()

void AODCollHandleBase::recheckCutStatusOfAllVisibleHandles ( )
inherited

Definition at line 144 of file AODCollHandleBase.cxx.

145{
146 messageVerbose("AODCollHandleBase::recheckCutStatusOfAllVisibleHandles");
147
148 if (!isLoaded())
149 return;
150
151 //This method is called when a cut is tightened - thus we better start by deselectAll to avoid weird highlighting issues.
152 common()->system()->deselectAll();
153
156 AODHandleBase* handle=0;
157 while ((handle=getNextHandle()))
158 {
159 if (handle->visible())
160 recheckCutStatus(handle);
161 }
162 // handle=getNextHandle();
163 // recheckCutStatus(handle);
164
165 // std::vector<AODHandleBase*>::iterator it(m_dbase->handles.begin()),itE(m_dbase->handles.end());
166 // for (;it!=itE;++it) {
167 // if ((*it)->visible())
168 // recheckCutStatus(*it);
169 // }
172
173 message("recheckCutStatusOfAllVisibleHandles: "+str(nShownHandles())+"/"+str(getHandlesList().count())+" pass cuts");
174}
const VP1AODSystem * system() const
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)

◆ rerandomise

void IParticleCollHandle_Jet::rerandomise ( )
privateslot

Definition at line 432 of file IParticleCollHandle_Jet.cxx.

433{
434 messageVerbose("IParticleCollHandle_Jet::rerandomise()");
435
436 if (!isLoaded()) {
437 messageVerbose("IParticleCollHandle_Jet::rerandomise() - Returning.");
438 return;
439 }
440 if (!isRandomColors()) {
441 VP1Msg::message("'Random jet colours' is not checked. Nothing to do. Returning.");
442 return;
443 }
444
447 AODHandleBase* handle=0;
448 while ((handle=getNextHandle()))
449 {
450 IParticleHandle_Jet* jet = dynamic_cast<IParticleHandle_Jet*>(handle);
451 if (jet && jet->has3DObjects()) {
452 jet->rerandomiseMaterial();
453 } else {
454 message("ERROR Handle of wrong type!");
455 }
456 }
458}
virtual AODHandleBase * getNextHandle()
virtual bool has3DObjects()
Returns true if the 3D objects have been created.
static void message(const QString &, IVP1System *sys=0)
Definition VP1Msg.cxx:30

◆ resetCachedValuesCuts

void IParticleCollHandle_Jet::resetCachedValuesCuts ( )
privateslot

Definition at line 839 of file IParticleCollHandle_Jet.cxx.

840{
841 // kinetic cuts
842 setCutAllowedPt(m_d->collSettingsButton->cutAllowedPt());
843 setCutAllowedEta(m_d->collSettingsButton->cutAllowedEta());
844 setCutAllowedPhi(m_d->collSettingsButton->cutAllowedPhi());
845 setScale( this->scale() );
846 // colouring
847 setRandomJetColours(m_d->collSettingsButton->randomJetColours());
848 // b-tagging
849 setBTaggingEnabled(m_d->collSettingsButton->bTaggingEnabled());
850 setBTaggingTagger(m_d->collSettingsButton->bTaggingTagger());
851 setBTaggingCut(m_d->collSettingsButton->bTaggingCut());
852 // maxR
853 setMaxR(m_d->collSettingsButton->maxR());
854}
void setCutAllowedPt(const VP1Interval &)
void setCutAllowedPhi(const QList< VP1Interval > &)
void setCutAllowedEta(const VP1Interval &)
void setMaxR(const double &max)
void setBTaggingTagger(const QString &)

◆ scale

double IParticleCollHandle_Jet::scale ( ) const
privateslot

Definition at line 333 of file IParticleCollHandle_Jet.cxx.

334{
335 return m_d->scale;
336}

◆ section()

QString VP1Collection::section ( ) const
inherited

Definition at line 72 of file VP1Collection.cxx.

73{
74 if (!m_d->sectionProvided) {
75 m_d->sectionProvided = true;
76 m_d->section = provideSection();
77 }
78 return m_d->section;
79}
virtual QString provideSection() const =0

◆ sectionToolTip()

QString VP1Collection::sectionToolTip ( ) const
inherited

Definition at line 82 of file VP1Collection.cxx.

83{
84 if (!m_d->sectionToolTipProvided) {
85 m_d->sectionToolTipProvided = true;
86 m_d->sectionToolTip = provideSectionToolTip();
87 }
88 return m_d->sectionToolTip;
89}
virtual QString provideSectionToolTip() const

◆ sepHelper() [1/2]

VP1ExtraSepLayerHelper * AODCollHandleBase::sepHelper ( )
inlineinherited

Definition at line 91 of file AODCollHandleBase.h.

91{ return m_sephelper; }//For attaching/detaching.

◆ sepHelper() [2/2]

const VP1ExtraSepLayerHelper * AODCollHandleBase::sepHelper ( ) const
inlineinherited

Definition at line 90 of file AODCollHandleBase.h.

90{ return m_sephelper; }//For attaching/detaching.

◆ setBTaggingCut

void IParticleCollHandle_Jet::setBTaggingCut ( const double & wCut)
privateslot

Definition at line 698 of file IParticleCollHandle_Jet.cxx.

698 {
699
700 if (m_d->bTaggingCut == wCut)
701 return;
702
703 m_d->bTaggingCut = wCut;
704
705 if (!isLoaded())
706 return;
707
708 messageVerbose("BTaggingCut change to "+str(m_d->bTaggingCut)+". Updating "+str(getHandlesList().count())+" jets");
709
710 updateBTaggingAllJets(); // update all jets
711
712}

◆ setBTaggingEnabled

void IParticleCollHandle_Jet::setBTaggingEnabled ( const bool & flag)
privateslot

Definition at line 600 of file IParticleCollHandle_Jet.cxx.

600 {
601 messageVerbose("IParticleCollHandle_Jet::setBTaggingEnabled - "+str(flag));
602 m_d->bTaggingSwitch->whichChild = (flag ? SO_SWITCH_ALL : SO_SWITCH_NONE);
603 if (flag) {
604 setBTaggingMaterialChanged(true); // we set default "Material"
605 }
606}
void setBTaggingMaterialChanged(const bool &)
bool flag
Definition master.py:29

◆ setBTaggingMaterial

void IParticleCollHandle_Jet::setBTaggingMaterial ( SoMaterial * mat = NULL)
privateslot

Definition at line 640 of file IParticleCollHandle_Jet.cxx.

641{
642 messageVerbose("IParticleCollHandle_Jet::setBTaggingMaterial()");
643
644 if (m_d->collSettingsButton->bTaggingRenderingMaterial()) {
645
646 messageVerbose("Updating the material node");
647
648 //remove the previous skin and material
649 m_d->bTaggingSwitch->removeChild(m_d->bTaggingTexture);
650 m_d->bTaggingSwitch->removeChild(m_d->bTaggingMaterial);
651 // delete m_d->bTaggingTexture;
652 // delete m_d->bTaggingMaterial;
653 m_d->bTaggingTexture = 0;
654 m_d->bTaggingMaterial = 0;
655
656 // float r = 0.4; float g = 0.15; float b = 0.0; float br = 0.8; float tr = 0.3; // reddish color
657 // VP1MaterialButton::setMaterialParameters( mat, r, g, b, br /*brightness*/, tr /*transparency*/ );
658
659 if (! mat) {
660 messageVerbose("taking the material from the controller");
661 m_d->bTaggingMaterial = m_d->collSettingsButton->bTaggingMaterial();
662 m_d->bTaggingSwitch->addChild( m_d->bTaggingMaterial );
663 }
664 else {
665 messageVerbose("taking the argument material");
666 m_d->bTaggingMaterial = mat;
667 m_d->bTaggingSwitch->addChild( m_d->bTaggingMaterial );
668 }
669
670 //std::cout << "--> new mat: " << m_d->bTaggingMaterial << std::endl;
671
672 updateBTaggingSwitchAllJets(); // update switch all jets
673 updateBTaggingAllJets(); // update cut for all jets
674 }
675}

◆ setBTaggingMaterialChanged

void IParticleCollHandle_Jet::setBTaggingMaterialChanged ( const bool & ok)
privateslot

Definition at line 754 of file IParticleCollHandle_Jet.cxx.

755{
756 if (ok) {
757 messageVerbose("IParticleCollHandle_Jet::setBTaggingMaterialChanged()");
759 }
760}

◆ setBTaggingSkin

void IParticleCollHandle_Jet::setBTaggingSkin ( const QString & filename)
privateslot

Definition at line 610 of file IParticleCollHandle_Jet.cxx.

610 {
611
612 if (m_d->collSettingsButton->bTaggingRenderingSkin()) {
613
614 //remove the previous skin and material
615 m_d->bTaggingSwitch->removeChild(m_d->bTaggingTexture);
616 m_d->bTaggingSwitch->removeChild(m_d->bTaggingMaterial);
617 // delete m_d->bTaggingTexture;
618 // delete m_d->bTaggingMaterial;
619 m_d->bTaggingTexture = 0;
620 m_d->bTaggingMaterial = 0;
621
622 // setting the texture
623 m_d->bTaggingTexture = new SoTexture2;
624 m_d->bTaggingMaterial = new SoMaterial;
625
626 // original from Joe, for skins/textures
627 std::string fName = PathResolver::find_file (filename.toStdString()+".png", "DATAPATH");
628 messageVerbose("texture found: " + QString::fromStdString(fName) );
629 m_d->bTaggingTexture->filename.setValue(fName.c_str());
630
631 // adding the texture to the SoSwitch
632 m_d->bTaggingSwitch->addChild(m_d->bTaggingTexture);
633 }
634
635 updateBTaggingSwitchAllJets(); // update switch all jets
636 updateBTaggingAllJets(); // update cut for all jets
637}
static std::string find_file(const std::string &logical_file_name, const std::string &search_path)

◆ setBTaggingSkinChanged

void IParticleCollHandle_Jet::setBTaggingSkinChanged ( const bool & ok)
privateslot

Definition at line 763 of file IParticleCollHandle_Jet.cxx.

763 {
764 if (ok)
765 setBTaggingSkin(m_d->collSettingsButton->bTaggingSkin());
766}

◆ setBTaggingTagger

void IParticleCollHandle_Jet::setBTaggingTagger ( const QString & tagger)
privateslot

Definition at line 679 of file IParticleCollHandle_Jet.cxx.

679 {
680
681 // std::cout << "current bTaggingTagger: " << m_d->bTaggingTagger << " - new: " << tagger << std::endl;
682
683 if (m_d->bTaggingTagger == tagger.toStdString())
684 return;
685
686 m_d->bTaggingTagger = tagger.toStdString();
687
688 if (!isLoaded())
689 return;
690
691 messageVerbose("BTaggingTagger change to: " +tagger+ " (with cut: " + QString::number(m_d->bTaggingCut) + "). Updating "+str(getHandlesList().count())+" jets");
692
693 updateBTaggingAllJets(); // update all jets
694}
const std::string tagger

◆ setCutAllowedEta

void IParticleCollHandleBase::setCutAllowedEta ( const VP1Interval & allowedEta)
slotinherited

Definition at line 259 of file IParticleCollHandleBase.cxx.

260{
261 messageVerbose("signal received in setCutAllowedEta ("+allowedEta.toString()+")");
262 if (!allowedEta.isSane())
263 return;
264
265 if (m_cut_allowedEta==allowedEta)
266 return;
267 m_cut_eta_allowall = allowedEta.isAllR();
268 m_cut_etaptphi_allwillfail = allowedEta.isEmpty() || m_cut_allowedPtSq.isEmpty() || m_cut_allowedPhi.isEmpty();
269
270 if (!m_cut_allowedEta.contains(allowedEta)&&!allowedEta.contains(m_cut_allowedEta)) {
271 m_cut_allowedEta = allowedEta;
273 return;
274 }
275 bool relaxcut = allowedEta.contains(m_cut_allowedEta);
276 m_cut_allowedEta = allowedEta;
277 if (relaxcut)
279 else
281}
bool isEmpty() const
QString toString() const
bool isSane() const
bool isAllR() const
bool contains(const double &x) const

◆ setCutAllowedPhi

void IParticleCollHandleBase::setCutAllowedPhi ( const QList< VP1Interval > & allowedPhi)
slotinherited

Definition at line 284 of file IParticleCollHandleBase.cxx.

285{
286 messageVerbose("IParticleCollHandleBase::setCutAllowedPhi() - signal received in setCutAllowedPhi.");
287
288 if (m_cut_allowedPhi==allowedPhi)
289 return;
290 m_cut_allowedPhi = allowedPhi;
291
292 m_cut_phi_allowall = m_cut_allowedPhi.count()==1 && m_cut_allowedPhi.at(0).isAllR();
294
295 if (m_cut_phi_allowall) {
297 return;
298 }
301 return;
302 }
304 recheckCutStatusOfAllNotVisibleHandles(); // Redundant, but needed! TODO: check why it is needed. Without this, when disabling and then re-enabling a phi sector, the corresponding jet is not shown, as the handles were not traversed. This fixes ATLASVPONE-626, look at that ticket for details: https://its.cern.ch/jira/browse/ATLASVPONE-626
305 return;
306}

◆ setCutAllowedPt

void IParticleCollHandleBase::setCutAllowedPt ( const VP1Interval & allowedpt)
slotinherited

Definition at line 218 of file IParticleCollHandleBase.cxx.

219{
220 messageVerbose("IParticleCollHandleBase::setCutAllowedPt()");
221
222 if (!allowedpt.isSane())
223 return;
224
225 //why do we need to do this? Why does it matter if it's negative?
226 //double minptsq = allowedpt.lower() <= 0.0 ? -std::numeric_limits<double>::infinity() : allowedpt.lower()*allowedpt.lower();
227 //VP1Interval allowedptsq(minptsq,allowedpt.upper()*allowedpt.upper());
228
229 //Modified code from EJWM
230 double signMin = allowedpt.lower()<0.0 ? -1.0 : 1.0;
231 double signMax = allowedpt.upper()<0.0 ? -1.0 : 1.0;
232 double minptsq = allowedpt.lower() == -std::numeric_limits<double>::infinity() ? -std::numeric_limits<double>::infinity() : signMin*(allowedpt.lower()*allowedpt.lower());
233 double maxptsq = allowedpt.upper() == std::numeric_limits<double>::infinity() ? std::numeric_limits<double>::infinity() : signMax*(allowedpt.upper()*allowedpt.upper());
234
235 VP1Interval allowedptsq(minptsq,maxptsq);
236 // std::cout<<"allowedptsq:isAllR"<<allowedptsq.isAllR()<<std::endl;
237 // std::cout<<"allowedptsq.isEmpty()"<<allowedptsq.isEmpty()<<std::endl;
238
239
240 if (m_cut_allowedPtSq==allowedptsq)
241 return;
242 m_cut_pt_allowall = allowedptsq.isAllR();
243 m_cut_etaptphi_allwillfail = allowedptsq.isEmpty() || m_cut_allowedEta.isEmpty() || m_cut_allowedPhi.isEmpty();
244
245 if (!m_cut_allowedPtSq.contains(allowedptsq)&&!allowedptsq.contains(m_cut_allowedPtSq)) {
246 m_cut_allowedPtSq = allowedptsq;
247 recheckCutStatusOfAllHandles();
248 return;
249 }
250 bool relaxcut = allowedptsq.contains(m_cut_allowedPtSq);
251 m_cut_allowedPtSq = allowedptsq;
252 if (relaxcut)
254 else
256}
if(febId1==febId2)
double lower() const
double upper() const

◆ setExtraWidgetsState()

void AODCollHandleBase::setExtraWidgetsState ( const QByteArray & ba)
protectedvirtualinherited

Reimplemented from VP1StdCollection.

Definition at line 519 of file AODCollHandleBase.cxx.

520{
521 messageDebug(" AODCollHandleBase::setExtraWidgetsState() - ba: " + ba);
522
523 if (ba.isEmpty())
524 messageVerbose("ExtraWidgetState ByteArray is empty.");
525
526 // VP1Deserialise state(ba, systemBase());
527 // if (state.version()!=0)
528 // return;//just ignore silently... i guess we ought to warn?
529 // state.restore(m_dbase->comboBox_colourby);
530 // state.disableUnrestoredChecks();
531 // colourByComboBoxItemChanged();
532}

◆ setHelperClassName()

void VP1HelperClassBase::setHelperClassName ( const QString & n)
inlineprotectedinherited

Definition at line 59 of file VP1HelperClassBase.h.

◆ setMaxR

void IParticleCollHandle_Jet::setMaxR ( const double & max)
privateslot

Definition at line 346 of file IParticleCollHandle_Jet.cxx.

347{
348 messageVerbose("IParticleCollHandle_Jet::setMaxR() - maxR: " + QString::number(maxR));
349 // messageVerbose("setMaxR to: " + str(maxR)+str(", from: ")+str(m_d->maxR));
350
351 if (m_d->maxR == maxR){ // no changes
352 messageDebug("no changes, returning...");
353 return;
354 }
355
356 m_d->maxR = maxR;
357
358 if (!isLoaded()) {
359 messageDebug("is not loaded, returning...");
360 return;
361 }
362
363 messageDebug("modifying MaxR for all jets...");
366 AODHandleBase* handle=0;
367 while ((handle=getNextHandle()))
368 {
369 IParticleHandle_Jet* jet = dynamic_cast<IParticleHandle_Jet*>(handle);
370 if (jet && jet->has3DObjects()) {
371 jet->setMaxR(m_d->maxR);
372 jet->updateHeight();
373 } else {
374 message("ERROR Handle of wrong type!");
375 }
376 }
378}
void setMaxR(const double &maxR)

◆ setRandomJetColours

void IParticleCollHandle_Jet::setRandomJetColours ( const bool & b)
privateslot

Definition at line 397 of file IParticleCollHandle_Jet.cxx.

398{
399 messageVerbose("IParticleCollHandle_Jet::setRandomJetColours() - b: "+QString::number(b));
400
401 if (m_d->randomColours == b)
402 return;
403
404 m_d->randomColours = b;
405
406 if (!isLoaded())
407 return;
408
410 int ijet = 0;
412 AODHandleBase* handle=0;
413 while ((handle=getNextHandle()))
414 {
415 ++ijet;
416 IParticleHandle_Jet* jet = dynamic_cast<IParticleHandle_Jet*>(handle);
417 if (jet && jet->has3DObjects()) {
418 messageVerbose("considering jet: "+QString::number(ijet));
419 int randomColors = isRandomColors();
420 messageVerbose("setting random material on jet: "+QString::number(ijet)+" - random colors? "+QString::number(randomColors));
421 // std::cout << "isRandomColors() --> " << isRandomColors() << std::endl;
422 jet->updateMaterial( randomColors );
423
424 } else {
425 message("ERROR Handle of wrong type!");
426 }
427 }
429}

◆ setScale

void IParticleCollHandle_Jet::setScale ( const double & s)
privateslot

Definition at line 290 of file IParticleCollHandle_Jet.cxx.

291{
292
293 messageVerbose("IParticleCollHandle_Jet::setScale() - scale: " + QString::number(sca));
294
295 if (getHandlesList().isEmpty()) {
296 messageVerbose("no jet handles defined! returning.");
297 return;
298 }
299 if (m_d->scale == sca)
300 return;
301
302 bool isEt = sca>0;
303 double tmpScale = std::max(1*SYSTEM_OF_UNITS::mm/(100*SYSTEM_OF_UNITS::GeV),
304 std::min(99*SYSTEM_OF_UNITS::m/(1*SYSTEM_OF_UNITS::MeV),
305 // m_d->collSettingsButton->lengthOf100GeV() * Gaudi::Units::m/(100.0*Gaudi::Units::GeV)));
306 std::fabs(sca) * SYSTEM_OF_UNITS::m/(100.0*SYSTEM_OF_UNITS::GeV)));
307
308 m_d->scale = isEt ? tmpScale : -tmpScale;
309
310 if (!isLoaded())
311 return;
312
313 messageVerbose("Scale change: to "+str(m_d->scale/(SYSTEM_OF_UNITS::m/(100.0 * SYSTEM_OF_UNITS::GeV)))+" m/100GeV. Updating "+str(getHandlesList().count())+" jets");
314 // std::cout << "Scale change: d->scale/(SYSTEM_OF_UNITS::m/(100.0*SYSTEM_OF_UNITS::GeV)))" << "m/100GeV. Updating " << getHandlesList().count() << " jets" << std::endl;
315
318 AODHandleBase* handle=0;
319 while ((handle=getNextHandle()))
320 {
321 IParticleHandle_Jet* jet = dynamic_cast<IParticleHandle_Jet*>(handle);
322 if (jet && jet->has3DObjects()) {
323 jet->setScale(tmpScale, isEt);
324 jet->updateHeight();
325 } else {
326 message("ERROR Handle of wrong type!");
327 }
328 }
330}
void setScale(const double &sc, bool useEt)

◆ setSepHelper()

void AODCollHandleBase::setSepHelper ( VP1ExtraSepLayerHelper * sh)
inlineinherited

Definition at line 92 of file AODCollHandleBase.h.

92{ m_sephelper=sh; }//For attaching/detaching.

◆ setState()

void IParticleCollHandle_Jet::setState ( const QByteArray & state)
virtual

Provide specific implementation.

Reimplemented from IParticleCollHandleBase.

Definition at line 803 of file IParticleCollHandle_Jet.cxx.

804{
805 messageDebug("IParticleCollHandle_Jet::setState()");
806
807 VP1Deserialise des(state);
808 des.disableUnrestoredChecks();
809 if (des.version()!=0&&des.version()!=1) {
810 messageDebug("Warning: Ignoring state with wrong version");
811 return;
812 }
813
814 // save state
815
816 bool vis = des.restoreBool();
817
818 // QByteArray matState = des.restoreByteArray();
819 // m_d->matButton->restoreFromState(matState);
820 QByteArray extraWidgetState = des.version()>=1 ? des.restoreByteArray() : QByteArray();
821 setVisible(vis);
822
823 if (extraWidgetState!=QByteArray())
824 setExtraWidgetsState(extraWidgetState);
825
826 // MATERIAL SETTINGS / CUTS
827 messageDebug("restoring material collection button...");
828 des.restore(m_d->collSettingsButton);
829
830 messageDebug("reset all caches storing values for cuts...");
832
833 messageDebug("recheck all handles...");
835
836}
void setExtraWidgetsState(const QByteArray &)

◆ setSystemBasePointer()

void VP1HelperClassBase::setSystemBasePointer ( IVP1System * sys)
inherited

Definition at line 197 of file VP1HelperClassBase.cxx.

198{
199 m_system = sys;
200 if (VP1Msg::verbose()){
201 vp1helperclassbase_instanceMap[this] = (m_system?m_system->name():QString(""));
202 }
203}
static std::map< VP1HelperClassBase *, QString > vp1helperclassbase_instanceMap

◆ setupSettingsFromController()

void AODCollHandleBase::setupSettingsFromController ( const AODSystemController * controller)
inherited

Definition at line 112 of file AODCollHandleBase.cxx.

113{
114 messageVerbose("setupSettingsFromController start");
115 if (!controller) {
116 message("Not properly initialized: controller pointer is zero.");
117 return;
118 }
119
121 // connect(common()->system(),SIGNAL(newHandleSelected( const AODHandleBase&)),this,SLOT(handleSelectionChanged()));
123
125 messageVerbose("setupSettingsFromController end");
126}
virtual void setupSettingsFromControllerSpecific(const AODSystemController *)
For extensions specific to this collection.

◆ setupSettingsFromControllerSpecific()

void IParticleCollHandle_Jet::setupSettingsFromControllerSpecific ( const AODSystemController * )
virtual

For extensions specific to this collection.

Reimplemented from IParticleCollHandleBase.

Definition at line 229 of file IParticleCollHandle_Jet.cxx.

230{
231 messageDebug("IParticleCollHandle_Jet::setupSettingsFromControllerSpecific()");
232
233 JetCollectionSettingsButton* controller = m_d->collSettingsButton;
234
235 //cuts
236 connect(controller,SIGNAL(cutAllowedPtChanged(const VP1Interval&)),this,SLOT(setCutAllowedPt(const VP1Interval&)));
237 setCutAllowedPt(controller->cutAllowedPt());
238
239 connect(controller,SIGNAL(cutAllowedEtaChanged(const VP1Interval&)),this,SLOT(setCutAllowedEta(const VP1Interval&)));
240 setCutAllowedEta(controller->cutAllowedEta());
241
242 connect(controller,SIGNAL(cutAllowedPhiChanged(const QList<VP1Interval>&)),this,SLOT(setCutAllowedPhi(const QList<VP1Interval>&)));
243 setCutAllowedPhi(controller->cutAllowedPhi());
244
245 // // Parameters
246 // connect(controller,SIGNAL(showParametersChanged(bool)), this,SLOT(showParametersChanged(bool)));
247 // connect(controller,SIGNAL(colourParametersByTypeChanged(bool)),this,SLOT(showParametersChanged(bool)));
248 // Just reusing the same slot, since it doesn't
249
250 // scale
251 connect(controller,SIGNAL(scaleChanged(const double&)),this,SLOT(setScale(const double&)));
252 setScale( this->scale() );
253
254 // random jet colors
255 connect(controller,SIGNAL(rerandomise()),this,SLOT(rerandomise()));
256 connect(controller,SIGNAL(randomJetColoursChanged(const bool&)),this,SLOT(setRandomJetColours(const bool&)));
258
259 // maxR
260 connect(controller, SIGNAL(maxRChanged(const double&)), this, SLOT(setMaxR(const double&)));
261
262 // b-tagging
263 connect(controller, SIGNAL(bTaggingEnabledChanged(const bool&)), this, SLOT(setBTaggingEnabled(const bool&)));
264 setBTaggingEnabled(controller->bTaggingEnabled());
265 connect(controller, SIGNAL(bTaggingTaggerChanged(const QString &)), this, SLOT(setBTaggingTagger(const QString &)));
266 setBTaggingTagger(controller->bTaggingTagger());
267 connect(controller, SIGNAL(bTaggingCutChanged(const double &)), this, SLOT(setBTaggingCut(const double &)));
268 setBTaggingCut(controller->bTaggingCut());
269 connect(controller,SIGNAL(bTaggingRenderingMaterialChanged(const bool&)), this, SLOT(setBTaggingMaterialChanged(const bool&)));
270
271 connect(controller,SIGNAL(bTaggingRenderingSkinChanged(const bool&)), this, SLOT(setBTaggingSkinChanged(const bool&)));
272}
void setBTaggingSkinChanged(const bool &ok)
QList< VP1Interval > cutAllowedPhi() const

◆ setVisible

void VP1StdCollection::setVisible ( bool b)
slotinherited

Definition at line 160 of file VP1StdCollection.cxx.

161{
162 if (m_d->visible==b||problemsLoading())
163 return;
164 m_d->visible=b;
165 messageVerbose("Visible state ("+text()+") => "+str(m_d->visible));
166
167 //Possibly load:
168 if (m_d->visible&&!m_d->loaded) {
169 m_d->loaded = true;
170 m_d->theswitch->whichChild = SO_SWITCH_NONE;
171 bool ok = load();
172 if (!ok) {
173 m_d->problemsloading = true;
174 m_d->visible = false;
175 m_d->checkBox->blockSignals(true);
176 m_d->checkBox->setChecked(false);
177 m_d->checkBox->setToolTip("Problems encountered during attempt to load this collection");
178 for (QWidget*w : widgetsForGuiRow())
179 w->setEnabled(false);
180 message("Problems loading "+text());
181 return;
182 }
183 m_d->theswitch->addChild(m_d->material);
184 m_d->theswitch->addChild(m_d->collsep);
185 }
186
187 Q_ASSERT(!problemsLoading());
188
189 //Update checkbox and switch:
190 if (m_d->checkBox->isChecked()!=m_d->visible) {
191 bool save = m_d->checkBox->blockSignals(true);
192 m_d->checkBox->setChecked(m_d->visible);
193 if (!save)
194 m_d->checkBox->blockSignals(false);
195 }
196 if ((m_d->theswitch->whichChild.getValue()==SO_SWITCH_ALL) != m_d->visible)
197 m_d->theswitch->whichChild = ( m_d->visible ? SO_SWITCH_ALL : SO_SWITCH_NONE );
198
199 visibilityChanged(m_d->visible);
200}
virtual QList< QWidget * > widgetsForGuiRow() const
virtual bool load()=0
bool problemsLoading() const

◆ showParametersChanged

void IParticleCollHandle_Jet::showParametersChanged ( bool val)
privateslot

Definition at line 593 of file IParticleCollHandle_Jet.cxx.

593 {
594 messageVerbose("IParticleCollHandle_Jet::showParametersChanged to "+str(val));
596}

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }
#define y
#define x

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }
#define z

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ systemBase()

IVP1System * VP1HelperClassBase::systemBase ( ) const
inlineinherited

Definition at line 50 of file VP1HelperClassBase.h.

50{ return m_system; }

◆ text()

QString VP1StdCollection::text ( ) const
inherited

Definition at line 132 of file VP1StdCollection.cxx.

133{
134 if (!m_d->textProvided) {
135 m_d->textProvided = true;
136 m_d->text = provideText();
137 }
138 return m_d->text;
139}
virtual QString provideText() const =0

◆ toBaseCollList()

template<class T>
QList< VP1Collection * > VP1Collection::toBaseCollList ( const QList< T * > & in)
staticinherited

Definition at line 80 of file VP1Collection.h.

81{
82 QList<VP1Collection*> l;
83 for (T * t : in)
84 l << static_cast<T*>(t);
85 return l;
86}

◆ update3DObjectsOfAllHandles()

void AODCollHandleBase::update3DObjectsOfAllHandles ( )
inherited

Definition at line 223 of file AODCollHandleBase.cxx.

224{
225 if (!isLoaded())
226 return;
227 if (VP1Msg::verbose())
228 messageVerbose("update3DObjectsOfAllHandles start");
231 AODHandleBase* handle=0;
232 while ((handle=getNextHandle()))
233 handle->update3DObjects();
234
236 messageVerbose("update3DObjectsOfAllHandles end");
237}
virtual void update3DObjects()
Called after some configuration changes, or when the object is first created. Must be overloaded by c...

◆ updateBTaggingAllJets()

void IParticleCollHandle_Jet::updateBTaggingAllJets ( )
private

Definition at line 715 of file IParticleCollHandle_Jet.cxx.

716{
717 messageVerbose("IParticleCollHandle_Jet::updateBTaggingAllJets()");
720 AODHandleBase* handle=0;
721 while ((handle=getNextHandle()))
722 {
723 IParticleHandle_Jet* jet = dynamic_cast<IParticleHandle_Jet*>(handle);
724 if (jet && jet->has3DObjects()) {
725 jet->updateBTagging(m_d->bTaggingTagger, m_d->bTaggingCut);
726 } else {
727 message("ERROR Handle of wrong type!");
728 }
729 }
731}
void updateBTagging(const std::string &bTaggingTagger, const double &bTaggingCut)

◆ updateBTaggingSwitchAllJets()

void IParticleCollHandle_Jet::updateBTaggingSwitchAllJets ( )
private

Definition at line 734 of file IParticleCollHandle_Jet.cxx.

735{
736 messageVerbose("IParticleCollHandle_Jet::updateBTaggingSwitchAllJets()");
739 AODHandleBase* handle=0;
740 while ((handle=getNextHandle()))
741 {
742 IParticleHandle_Jet* jet = dynamic_cast<IParticleHandle_Jet*>(handle);
743 if (jet && jet->has3DObjects()) {
744 jet->updateBTaggingSwitch(m_d->bTaggingSwitch);
745 } else {
746 message("ERROR Handle of wrong type!");
747 }
748 }
750}
void updateBTaggingSwitch(SoSwitch *bTaggingSwitch)

◆ updateMaterialOfAllHandles()

void AODCollHandleBase::updateMaterialOfAllHandles ( )
inherited

Definition at line 240 of file AODCollHandleBase.cxx.

241{
242 if (!isLoaded())
243 return;
244 messageVerbose("updateMaterialOfAllHandles start");
247 AODHandleBase* handle=0;
248 while ((handle=getNextHandle()))
249 handle->updateMaterial();
251 messageVerbose("updateMaterialOfAllHandles end");
252}
void updateMaterial()
Called after some configuration related to material changes.

◆ updateObjectBrowserVisibilityCounts()

void AODCollHandleBase::updateObjectBrowserVisibilityCounts ( )
privateinherited

Definition at line 419 of file AODCollHandleBase.cxx.

419 {
420 messageVerbose("AODCollHandleBase::updateObjectBrowserVisibilityCounts called for "+name());
421 QTreeWidget* trkObjBrowser = common()->controller()->objBrowser();
422 if (!trkObjBrowser || !m_dbase->objBrowseTree) {
423 messageVerbose("AODCollHandleBase::updateObjectBrowserVisibilityCounts: no common()->controller()->objBrowser() and/or d->objBrowseTree. Aborting");
424 messageVerbose("trkObjBrowser: "+str(trkObjBrowser)+"\t d->objBrowseTree: "+str(m_dbase->objBrowseTree));
425 return;
426 }
427 QString text(QString(": (")+QString::number(nShownHandles())+QString("/")+QString::number(getHandlesList().count())+QString(") visible"));
428 m_dbase->objBrowseTree->setText(1, text);
429}

◆ updateStates()

void VP1Collection::updateStates ( VP1CollStates & state,
const VP1CollStates & newInfo )
staticinherited

Definition at line 118 of file VP1Collection.cxx.

119{
120 VP1Msg::messageDebug("VP1Collection::updateStates() - start...");
121 QMapIterator<QByteArray,QByteArray> it(newInfo);
122 while (it.hasNext()) {
123 it.next();
124 state.insert(it.key(),it.value());
125 }
126 VP1Msg::messageDebug("VP1Collection::updateStates() - end.");
127}

◆ verbose()

bool VP1HelperClassBase::verbose ( )
inlinestaticinherited

Definition at line 32 of file VP1HelperClassBase.h.

32{ return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1
static const bool s_vp1verbose

◆ visibilityChanged

void VP1StdCollection::visibilityChanged ( bool )
signalinherited

◆ visible()

bool VP1StdCollection::visible ( ) const
inherited

Definition at line 142 of file VP1StdCollection.cxx.

143{
144 return m_d->visible;
145}

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184{
186 return;
187 std::cout << "WARNING: Detected "<<vp1helperclassbase_instanceMap.size()<<" undeleted helper class instances:"<<std::endl;
188
189 std::map<VP1HelperClassBase*,QString>::iterator it,itE(vp1helperclassbase_instanceMap.end());
190 for (it = vp1helperclassbase_instanceMap.begin();it!=itE;++it) {
191 std::cout << " ==> "<<it->first<<": "<<it->first->m_helpername.toStdString()
192 << (it->second.isEmpty()?QString(""):" (in system "+it->second+")").toStdString()<<std::endl;
193 }
194}

◆ widgetsForGuiRow()

QList< QWidget * > VP1Collection::widgetsForGuiRow ( ) const
virtualinherited

Definition at line 62 of file VP1Collection.cxx.

63{
64 if (!m_d->widgetsForGuiRowProvided) {
65 m_d->widgetsForGuiRowProvided = true;
66 m_d->widgetsForGuiRow = provideWidgetsForGuiRow();
67 }
68 return m_d->widgetsForGuiRow;
69}
virtual QList< QWidget * > provideWidgetsForGuiRow() const =0

◆ xAODType()

xAOD::Type::ObjectType AODCollHandleBase::xAODType ( ) const
inlineinherited

Dummy implementation does nothing.

This is actually the same as is returned by provideCollTypeID(), but this is public and more clearly named.

Definition at line 97 of file AODCollHandleBase.h.

Member Data Documentation

◆ m_commonData

AODSysCommonData* AODCollHandleBase::m_commonData
privateinherited

Definition at line 190 of file AODCollHandleBase.h.

◆ m_cut_allowedEta

VP1Interval IParticleCollHandleBase::m_cut_allowedEta
privateinherited

Definition at line 124 of file IParticleCollHandleBase.h.

◆ m_cut_allowedPhi

QList<VP1Interval> IParticleCollHandleBase::m_cut_allowedPhi
privateinherited

Definition at line 125 of file IParticleCollHandleBase.h.

◆ m_cut_allowedPtSq

VP1Interval IParticleCollHandleBase::m_cut_allowedPtSq
privateinherited

Definition at line 123 of file IParticleCollHandleBase.h.

◆ m_cut_eta_allowall

bool IParticleCollHandleBase::m_cut_eta_allowall
privateinherited

Definition at line 127 of file IParticleCollHandleBase.h.

◆ m_cut_etaptphi_allwillfail

bool IParticleCollHandleBase::m_cut_etaptphi_allwillfail
privateinherited

Definition at line 129 of file IParticleCollHandleBase.h.

◆ m_cut_phi_allowall

bool IParticleCollHandleBase::m_cut_phi_allowall
privateinherited

Definition at line 128 of file IParticleCollHandleBase.h.

◆ m_cut_pt_allowall

bool IParticleCollHandleBase::m_cut_pt_allowall
privateinherited

Definition at line 126 of file IParticleCollHandleBase.h.

◆ m_d

Imp* IParticleCollHandle_Jet::m_d
private

Definition at line 83 of file IParticleCollHandle_Jet.h.

◆ m_dbase

Imp* AODCollHandleBase::m_dbase
privateinherited

Definition at line 186 of file AODCollHandleBase.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_nshownhandles

int AODCollHandleBase::m_nshownhandles
privateinherited

Definition at line 188 of file AODCollHandleBase.h.

◆ m_sephelper

VP1ExtraSepLayerHelper* AODCollHandleBase::m_sephelper
privateinherited

Definition at line 191 of file AODCollHandleBase.h.

◆ m_system

IVP1System* VP1HelperClassBase::m_system
privateinherited

Definition at line 68 of file VP1HelperClassBase.h.

◆ m_type

xAOD::Type::ObjectType AODCollHandleBase::m_type
privateinherited

Definition at line 189 of file AODCollHandleBase.h.

◆ s_vp1verbose

const bool VP1HelperClassBase::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 69 of file VP1HelperClassBase.h.


The documentation for this class was generated from the following files: