Belle II Software  release-05-02-19
CDCMisalignment.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Tadeas Bilka (original) *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <calibration/DBObjCalibrationConstMapBase.h>
14 #include <cdc/dataobjects/WireID.h>
15 
16 namespace Belle2 {
22  // N.B. The original was CDCCalibration.h by Tadeas; copied here and removed
24  // calibration-related part. This is tentative for code development; to be
25  // moved to an appropriate directory later.
26  //TODO: define using a template tech. (?) since this and CDCAlignment are the same.
27  class CDCMisalignment: public DBObjCalibrationConstMapBase {
28 
29  public:
30  // Define some not used wire/cell ids for other purposes ------------
32  static const baseType WireNone = 511;
34  static const baseType ICLayerNone = 63;
36  static const baseType Wire4Layers = 400;
38  static const baseType Wire4SuperLayers = 405;
40  static const baseType Wire4EndPartOuter = 410;
42  static const baseType Wire4EndPartMiddle = 411;
44  static const baseType Wire4EndPartInner = 412;
45 
46  // Misalignment of wires ------------------------------------------------
48  static const baseType wireBwdX = 0;
50  static const baseType wireBwdY = 1;
52  static const baseType wireBwdZ = 2;
54  static const baseType wireFwdX = 4;
56  static const baseType wireFwdY = 5;
58  static const baseType wireFwdZ = 6;
59 
60  // Layer misalignment -------------------------------------------------
62  static const baseType layerX = 0;
64  static const baseType layerY = 1;
65 
66  // Tension and additional wire shape parametrization ---------------
68  static const baseType wireTension = 21;
69 
70  // Endplates -------------------------------------------------------
72  static const baseType endPlateBwdPhi = 46;
74  static const baseType endPlateFwdDphi = 47;
75 
78 
80  double getBwdWireShiftX(int ICLayer, int ILayer)
81  {
82  return get(WireID(ICLayer, ILayer), wireBwdX);
83  }
85  double getBwdWireShiftY(int ICLayer, int ILayer)
86  {
87  return get(WireID(ICLayer, ILayer), wireBwdY);
88  }
90  double getBwdWireShiftZ(int ICLayer, int ILayer)
91  {
92  return get(WireID(ICLayer, ILayer), wireBwdZ);
93  }
94 
96  double getFwdWireShiftX(int ICLayer, int ILayer)
97  {
98  return get(WireID(ICLayer, ILayer), wireFwdX);
99  }
101  double getFwdWireShiftY(int ICLayer, int ILayer)
102  {
103  return get(WireID(ICLayer, ILayer), wireFwdY);
104  }
106  double getFwdWireShiftZ(int ICLayer, int ILayer)
107  {
108  return get(WireID(ICLayer, ILayer), wireFwdZ);
109  }
110 
112  double getWireTension(int ICLayer, int ILayer)
113  {
114  return get(WireID(ICLayer, ILayer), wireTension);
115  }
116 
118  double getLayerShiftX(int ICLayer) {return get(WireID(ICLayer, Wire4Layers), layerX);}
120  double getLayerShiftY(int ICLayer) {return get(WireID(ICLayer, Wire4Layers), layerY);}
122  ~CDCMisalignment() {}
123 
124  private:
125 
128  };
129 
131 } // end namespace Belle2
132 
Belle2::CDCMisalignment::Wire4EndPartOuter
static const baseType Wire4EndPartOuter
Outer conical end part = (63, 405)
Definition: CDCMisalignment.h:48
Belle2::CDCMisalignment::getLayerShiftY
double getLayerShiftY(int ICLayer)
Direct getter to Y shift of layer.
Definition: CDCMisalignment.h:128
Belle2::WireID
Class to identify a wire inside the CDC.
Definition: WireID.h:44
Belle2::CDCMisalignment::layerX
static const baseType layerX
Layer X position w.r.t. geometry.
Definition: CDCMisalignment.h:70
Belle2::CDCMisalignment::Wire4EndPartMiddle
static const baseType Wire4EndPartMiddle
Middle conical end part = (63, 411)
Definition: CDCMisalignment.h:50
Belle2::CDCMisalignment::getLayerShiftX
double getLayerShiftX(int ICLayer)
Direct getter to X shift of layer.
Definition: CDCMisalignment.h:126
Belle2::CDCMisalignment::wireFwdZ
static const baseType wireFwdZ
Wire Z position w.r.t. nominal on forward endplate.
Definition: CDCMisalignment.h:66
Belle2::CDCMisalignment::getBwdWireShiftY
double getBwdWireShiftY(int ICLayer, int ILayer)
Getter to Y shift of bwd wire.
Definition: CDCMisalignment.h:93
Belle2::CDCMisalignment::wireTension
static const baseType wireTension
Wire tension w.r.t. nominal (=50. ?)
Definition: CDCMisalignment.h:76
Belle2::DBObjCalibrationConstMapBase
Base for calibration or alignment parameters identified by two unsigned shorts Typically first is som...
Definition: DBObjCalibrationConstMapBase.h:46
Belle2::CDCMisalignment::Wire4Layers
static const baseType Wire4Layers
layer = (ICLayer, 400)
Definition: CDCMisalignment.h:44
Belle2::CDCMisalignment::wireFwdX
static const baseType wireFwdX
Wire X position w.r.t. nominal on forward endplate.
Definition: CDCMisalignment.h:62
Belle2::CDCMisalignment
CDC misalignment constants.
Definition: CDCMisalignment.h:35
Belle2::CDCMisalignment::layerY
static const baseType layerY
Layer Y position w.r.t. geometry.
Definition: CDCMisalignment.h:72
Belle2::CDCMisalignment::~CDCMisalignment
~CDCMisalignment()
Destructor.
Definition: CDCMisalignment.h:130
Belle2::CDCMisalignment::getFwdWireShiftX
double getFwdWireShiftX(int ICLayer, int ILayer)
Getter to X shift of fwd wire.
Definition: CDCMisalignment.h:104
Belle2::CDCMisalignment::ICLayerNone
static const baseType ICLayerNone
Last bit for continous layer (unused)
Definition: CDCMisalignment.h:42
Belle2::CDCMisalignment::wireBwdZ
static const baseType wireBwdZ
Wire Z position w.r.t. nominal on backward endplate.
Definition: CDCMisalignment.h:60
Belle2::CDCMisalignment::getBwdWireShiftZ
double getBwdWireShiftZ(int ICLayer, int ILayer)
Getter to Z shift of bwd wire.
Definition: CDCMisalignment.h:98
Belle2::CDCMisalignment::getFwdWireShiftY
double getFwdWireShiftY(int ICLayer, int ILayer)
Getter to Y shift of fwd wire.
Definition: CDCMisalignment.h:109
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCMisalignment::wireBwdX
static const baseType wireBwdX
Wire X position w.r.t. nominal on backward endplate.
Definition: CDCMisalignment.h:56
Belle2::CDCMisalignment::endPlateBwdPhi
static const baseType endPlateBwdPhi
Backward endplate rotation w.r.t. nominal (geometry)
Definition: CDCMisalignment.h:80
Belle2::DBObjCalibrationConstMapBase::baseType
int baseType
The underlying element type (also for param id)
Definition: DBObjCalibrationConstMapBase.h:51
Belle2::CDCMisalignment::wireFwdY
static const baseType wireFwdY
Wire Y position w.r.t. nominal on forward endplate.
Definition: CDCMisalignment.h:64
Belle2::CDCMisalignment::endPlateFwdDphi
static const baseType endPlateFwdDphi
Forward enplate rotation taking endPlateBwdPhi as new nominal.
Definition: CDCMisalignment.h:82
Belle2::CDCMisalignment::WireNone
static const baseType WireNone
Last bit for wire (actually over 100 unused - but useful for us)
Definition: CDCMisalignment.h:40
Belle2::CDCMisalignment::CDCMisalignment
CDCMisalignment()
Constructor.
Definition: CDCMisalignment.h:85
Belle2::CDCMisalignment::wireBwdY
static const baseType wireBwdY
Wire Y position w.r.t. nominal on backward endplate.
Definition: CDCMisalignment.h:58
Belle2::CDCMisalignment::getBwdWireShiftX
double getBwdWireShiftX(int ICLayer, int ILayer)
Getter to X shift of bwd wire.
Definition: CDCMisalignment.h:88
Belle2::CDCMisalignment::Wire4EndPartInner
static const baseType Wire4EndPartInner
Inner conical end part = (63, 412)
Definition: CDCMisalignment.h:52
Belle2::CDCMisalignment::getFwdWireShiftZ
double getFwdWireShiftZ(int ICLayer, int ILayer)
Getter to Z shift of fwd wire.
Definition: CDCMisalignment.h:114
Belle2::CDCMisalignment::Wire4SuperLayers
static const baseType Wire4SuperLayers
SuperLayer = (SuperLayer, 0, 405)
Definition: CDCMisalignment.h:46
Belle2::CDCMisalignment::getWireTension
double getWireTension(int ICLayer, int ILayer)
Getter to wire tension.
Definition: CDCMisalignment.h:120
Belle2::CDCMisalignment::ClassDef
ClassDef(CDCMisalignment, 1)
Storage for CDC misalignment constants (mainly now for Millepede)
Belle2::DBObjCalibrationConstMapBase::get
virtual double get(baseType id, baseType param) const
Get parameter value for given element and parameter number.
Definition: DBObjCalibrationConstMapBase.cc:20