ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
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  }

◆ 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  }

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:
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition: Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
IVP1System::name
const QString & name() const
Definition: IVP1System.cxx:50
VP1AODSystem::Imp::theclass
VP1AODSystem * theclass
Definition: VP1AODSystem.cxx:81
query_example.col
col
Definition: query_example.py:7
Muon
struct TBPatternUnitContext Muon
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition: Event/xAOD/xAODJet/xAODJet/Jet.h:17
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
common
Definition: common.py:1