ATLAS Offline Software
VertexSysController.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class VertexSysController //
9 // //
10 // Description: Vertex system controller. //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: July 2008 //
14 // //
16 
17 #ifndef VERTEXSYSCONTROLLER_H
18 #define VERTEXSYSCONTROLLER_H
19 
20 #include "VP1Base/VP1Controller.h"
22 class SoGroup;
23 
25 
26  Q_OBJECT
27 
28 public:
29 
31  virtual ~VertexSysController();
32 
34  int currentSettingsVersion() const;
35  void actualSaveSettings(VP1Serialise&) const;
36 
38 
40  // Access Methods for settings //
42 
43  SoGroup * drawOptions() const;
44 
45  //Interactions (no change signals needed):
46  bool printInfoOnClick() const;
47  bool printVerboseInfoOnClick() const;
48  bool zoomOnClick() const;
49 
50  //Truth cuts:
51  bool truthCutPrimaryVertexOnly() const;
52  QPair<VertexCommonFlags::QUANTITY,VP1Interval> truthCutQuantity() const;
54  QList<VP1Interval> truthCutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
55 
56  //Truth display options:
57  QPair<VertexCommonFlags::QUANTITY,double> truthCrossLength() const;//.second is either the fixed length (when <0),
58  //or the scale factor (to .first)
59 
60  //Recon cuts:
61  VertexCommonFlags::ReconVertexTypeFlags reconCutAllowedTypes() const;
62 
63  //Recon display options:
64  double reconVertexRepresentation() const;//<0: sphere of that radius, 0 a point, >0 ellipsoid with that many stddevs.
65 
67  // Signals for changes in settings //
69 signals:
70  void rerandomise();//This one doesn't have an access method, but is just emitted when needed.
72  void truthCutAllowedPhiChanged(const QList<VP1Interval>&);
74  void truthCutQuantityChanged(const QPair<VertexCommonFlags::QUANTITY,VP1Interval>&);
75  void truthCrossLengthChanged(QPair<VertexCommonFlags::QUANTITY,double>);
76  void reconCutAllowedTypesChanged(VertexCommonFlags::ReconVertexTypeFlags);
77  void reconVertexRepresentationChanged(const double&);
78 
79 private:
80  class Imp;
81  Imp * m_d;
82  //For verbose output:
83  template <class T> static QString toString( const T& t ) { return VP1Controller::toString(t); }//unhide base methods
85  static QString toString( const QPair<VertexCommonFlags::QUANTITY,VP1Interval>& );
86  static QString toString( const QPair<VertexCommonFlags::QUANTITY,double>& );
87 
88 private Q_SLOTS:
89  void emitRerandomise();
97 };
98 
99 #endif
VertexSysController::truthCrossLengthChanged
void truthCrossLengthChanged(QPair< VertexCommonFlags::QUANTITY, double >)
VP1Controller::toString
static QString toString(const T &par)
Definition: VP1Controller.h:138
VP1Serialise
Definition: VP1Serialise.h:45
VertexSysController::possibleChange_truthCrossLength
void possibleChange_truthCrossLength()
VertexSysController::truthCutQuantity
QPair< VertexCommonFlags::QUANTITY, VP1Interval > truthCutQuantity() const
Definition: VertexSysController.cxx:281
VertexSysController::actualRestoreSettings
void actualRestoreSettings(VP1Deserialise &)
Definition: VertexSysController.cxx:184
VertexSysController::possibleChange_truthCutQuantity
void possibleChange_truthCutQuantity()
VertexSysController::actualSaveSettings
void actualSaveSettings(VP1Serialise &) const
Definition: VertexSysController.cxx:138
VertexSysController::possibleChange_truthCutPrimaryVertexOnly
void possibleChange_truthCutPrimaryVertexOnly()
VertexSysController::truthCutAllowedEtaChanged
void truthCutAllowedEtaChanged(const VP1Interval &)
VertexSysController::truthCutPrimaryVertexOnlyChanged
void truthCutPrimaryVertexOnlyChanged(bool)
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
VertexSysController::reconCutAllowedTypes
VertexCommonFlags::ReconVertexTypeFlags reconCutAllowedTypes() const
Definition: VertexSysController.cxx:318
VertexSysController::VertexSysController
VertexSysController(IVP1System *sys)
Definition: VertexSysController.cxx:48
VertexSysController::rerandomise
void rerandomise()
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
VertexCommonFlags::toString
static QString toString(const QUANTITY &)
Definition: VertexCommonFlags.cxx:18
VertexSysController::printVerboseInfoOnClick
bool printVerboseInfoOnClick() const
Definition: VertexSysController.cxx:255
VertexSysController::possibleChange_reconVertexRepresentation
void possibleChange_reconVertexRepresentation()
IVP1System
Definition: IVP1System.h:36
VertexSysController::truthCutPrimaryVertexOnly
bool truthCutPrimaryVertexOnly() const
Definition: VertexSysController.cxx:259
VertexSysController::zoomOnClick
bool zoomOnClick() const
Definition: VertexSysController.cxx:256
VertexSysController::toString
static QString toString(const T &t)
Definition: VertexSysController.h:83
VertexSysController::currentSettingsVersion
int currentSettingsVersion() const
Definition: VertexSysController.cxx:132
VertexSysController::Imp
Definition: VertexSysController.cxx:30
VP1Deserialise
Definition: VP1Deserialise.h:44
VertexSysController::emitRerandomise
void emitRerandomise()
Definition: VertexSysController.cxx:343
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
VertexCommonFlags.h
VP1Controller
Definition: VP1Controller.h:45
VertexSysController::truthCrossLength
QPair< VertexCommonFlags::QUANTITY, double > truthCrossLength() const
Definition: VertexSysController.cxx:262
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
VertexSysController::truthCutAllowedPhi
QList< VP1Interval > truthCutAllowedPhi() const
Definition: VertexSysController.cxx:258
VertexSysController::reconVertexRepresentationChanged
void reconVertexRepresentationChanged(const double &)
VertexSysController::truthCutQuantityChanged
void truthCutQuantityChanged(const QPair< VertexCommonFlags::QUANTITY, VP1Interval > &)
VertexSysController::m_d
Imp * m_d
Definition: VertexSysController.h:80
VertexSysController::possibleChange_reconCutAllowedTypes
void possibleChange_reconCutAllowedTypes()
VertexSysController::drawOptions
SoGroup * drawOptions() const
Definition: VertexSysController.cxx:247
VertexSysController::collWidget
VP1CollectionWidget * collWidget() const
Definition: VertexSysController.cxx:253
VertexSysController::truthCutAllowedEta
VP1Interval truthCutAllowedEta() const
Definition: VertexSysController.cxx:257
VertexSysController::reconCutAllowedTypesChanged
void reconCutAllowedTypesChanged(VertexCommonFlags::ReconVertexTypeFlags)
VertexCommonFlags::QUANTITY
QUANTITY
Definition: VertexCommonFlags.h:37
VP1Interval
Definition: VP1Interval.h:23
VP1CollectionWidget
Definition: VP1CollectionWidget.h:32
VertexSysController::possibleChange_truthCutAllowedPhi
void possibleChange_truthCutAllowedPhi()
VertexSysController::printInfoOnClick
bool printInfoOnClick() const
Definition: VertexSysController.cxx:254
VertexSysController::toString
static QString toString(const VertexCommonFlags::QUANTITY &par)
Definition: VertexSysController.h:84
VertexSysController::reconVertexRepresentation
double reconVertexRepresentation() const
Definition: VertexSysController.cxx:308
VertexSysController::truthCutAllowedPhiChanged
void truthCutAllowedPhiChanged(const QList< VP1Interval > &)
VP1Controller.h
VertexSysController::~VertexSysController
virtual ~VertexSysController()
Definition: VertexSysController.cxx:126
VertexSysController::possibleChange_truthCutAllowedEta
void possibleChange_truthCutAllowedEta()
VertexSysController
Definition: VertexSysController.h:24
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35