ATLAS Offline Software
Loading...
Searching...
No Matches
VP1AODSystem::Imp Class Reference
Collaboration diagram for VP1AODSystem::Imp:

Public Member Functions

unsigned calcTotalMomentumOfSelectedHandles (Amg::Vector3D &totmom, Amg::Vector3D &totpos, double &mass)
template<class T>
QList< AODCollHandleBase * > createSpecificCollections (xAOD::Type::ObjectType type)
QList< AODCollHandleBase * > createCollections ()

Public Attributes

VP1AODSystemtheclass = nullptr
AODSysCommonDatacommon = nullptr
SoCooperativeSelectionselObjects = nullptr
SoSeparator * totmomsep = nullptr
SoLineSet * totmomline = nullptr
Amg::Vector3D totmomgev
double totmass = 0.0

Detailed Description

Definition at line 79 of file VP1AODSystem.cxx.

Member Function Documentation

◆ calcTotalMomentumOfSelectedHandles()

unsigned VP1AODSystem::Imp::calcTotalMomentumOfSelectedHandles ( Amg::Vector3D & totmom,
Amg::Vector3D & totpos,
double & mass )

Definition at line 561 of file VP1AODSystem.cxx.

562{
563 // TODO: to be implemented?
564
565
566
567
568 // totmom = Amg::Vector3D(0,0,0);
569 // totpos = Amg::Vector3D(0,0,0);
570 // mass = 0;
571 // if (!selObjects)
572 // return 0;
573 // unsigned nused(0);
574 // double totenergy(0);
575 // for (int i = 0; i < selObjects->getList()->getLength(); ++i) {
576 // SoFullPath *fPath = static_cast<SoFullPath *>((*(selObjects->getList()))[i]);
577 // AODHandleBase * handle = common->trackHandle(fPath?fPath->getTail():0);
578 // if (!handle)
579 // continue;
580 // Amg::Vector3D mom = handle->momentum();
581 // if (mom.mag2()==0.0)
582 // continue;
583 // //Fixme: Get actual position of perigee!!
584 // const Amg::Vector3D * pos = handle->startPoint();
585 // if (!pos)
586 // continue;
587 // ++nused;
588 // totmom += mom;
589 // totpos += *pos;
590 // mass = handle->hasMass() ? handle->mass() : 0;
591 // totenergy += sqrt(mom.mag2() + mass*mass);
592 // }
593 // if (nused>1) {
594 // double msq = totenergy*totenergy - totmom.mag2();
595 // mass = (msq<0?-1.0:1.0)*sqrt(fabs(msq));
596 // totpos /= nused;
597 // }
598 // return nused;
599 return 0;
600}

◆ createCollections()

QList< AODCollHandleBase * > VP1AODSystem::Imp::createCollections ( )
inline

Definition at line 125 of file VP1AODSystem.cxx.

125 {
126 QList<AODCollHandleBase*> l;
127 l << createSpecificCollections<IParticleCollHandle_TrackParticle>(xAOD::Type::TrackParticle);
128 l << createSpecificCollections<IParticleCollHandle_Jet>(xAOD::Type::Jet);
129 l << createSpecificCollections<IParticleCollHandle_Muon>(xAOD::Type::Muon);
130 l << createSpecificCollections<IParticleCollHandle_Electron>(xAOD::Type::Electron);
131 l << createSpecificCollections<IParticleCollHandle_CaloCluster>(xAOD::Type::CaloCluster); // Calorimeter Clusters
132 l << createSpecificCollections<MissingEtCollHandle>(xAOD::Type::Other);
133 l << createSpecificCollections<VertexCollHandle>(xAOD::Type::Vertex);
134 return l;
135 }
l
Printing final latex table to .tex output file.
@ TrackParticle
The object is a charged track particle.
Definition ObjectType.h:43
@ Jet
The object is a jet.
Definition ObjectType.h:40
@ Other
An object not falling into any of the other categories.
Definition ObjectType.h:34
@ CaloCluster
The object is a calorimeter cluster.
Definition ObjectType.h:39
@ Muon
The object is a muon.
Definition ObjectType.h:48
@ Electron
The object is an electron.
Definition ObjectType.h:46
@ Vertex
The object is a vertex.
Definition ObjectType.h:59

◆ createSpecificCollections()

template<class T>
QList< AODCollHandleBase * > VP1AODSystem::Imp::createSpecificCollections ( xAOD::Type::ObjectType type)
inline

Definition at line 108 of file VP1AODSystem.cxx.

108 {
109 QList<AODCollHandleBase*> l;
110 for (const QString& name : T::availableCollections(theclass)) {
111 T * col = new T(common,name,type);
112 col->init();
113 l << col;
114 }
115 return l;
116 }
const QString & name() const
AODSysCommonData * common
VP1AODSystem * theclass
unsigned long long T

Member Data Documentation

◆ common

AODSysCommonData* VP1AODSystem::Imp::common = nullptr

Definition at line 82 of file VP1AODSystem.cxx.

◆ selObjects

SoCooperativeSelection* VP1AODSystem::Imp::selObjects = nullptr

Definition at line 83 of file VP1AODSystem.cxx.

◆ theclass

VP1AODSystem* VP1AODSystem::Imp::theclass = nullptr

Definition at line 81 of file VP1AODSystem.cxx.

◆ totmass

double VP1AODSystem::Imp::totmass = 0.0

Definition at line 89 of file VP1AODSystem.cxx.

◆ totmomgev

Amg::Vector3D VP1AODSystem::Imp::totmomgev

Definition at line 88 of file VP1AODSystem.cxx.

◆ totmomline

SoLineSet* VP1AODSystem::Imp::totmomline = nullptr

Definition at line 87 of file VP1AODSystem.cxx.

◆ totmomsep

SoSeparator* VP1AODSystem::Imp::totmomsep = nullptr

Definition at line 86 of file VP1AODSystem.cxx.


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