Belle II Software development
CDCCalibration.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <calibration/DBObjCalibrationConstMapBase.h>
12#include <cdc/dataobjects/WireID.h>
13
14namespace Belle2 {
22
23 public:
24 // Define some not used wire/cell ids for other purposes ------------
26 static const baseType WireNone = 511;
28 static const baseType ICLayerNone = 63;
30 static const baseType Wire4Layers = 400;
32 static const baseType Wire4SuperLayers = 405;
34 static const baseType Wire4EndPartOuter = 410;
36 static const baseType Wire4EndPartMiddle = 411;
38 static const baseType Wire4EndPartInner = 412;
39
40 // Alignment of wires ------------------------------------------------
42 static const baseType wireBwdX = 0;
44 static const baseType wireBwdY = 1;
46 static const baseType wireBwdZ = 2;
48 static const baseType wireFwdDx = 4;
50 static const baseType wireFwdDy = 5;
52 static const baseType wireFwdDz = 6;
53
54 // Layer alignment -------------------------------------------------
56 static const baseType layerX = 0;
58 static const baseType layerY = 1;
59
60
61 // TDC adjustment --------------------------------------------------
63 static const baseType wireT0 = 11;
65 static const baseType boardT0 = 13;
66
67 // Tension and additional wire shape parametrization ---------------
69 static const baseType wireTension = 21;
70
71 // X-t calibration -------------------------------------------------
73 static const baseType xTlayerP0 = 31;
74
75 // Endplates -------------------------------------------------------
77 static const baseType endPlateBwdPhi = 46;
79 static const baseType endPlateFwdDphi = 47;
80
83
85 double getLayerShiftX(int ICLayer) {return get(WireID(ICLayer, Wire4Layers), layerX);}
87 double getLayerShiftY(int ICLayer) {return get(WireID(ICLayer, Wire4Layers), layerY);}
90
91 // ------------- Interface to global Millepede calibration ----------------
93 static unsigned short getGlobalUniqueID() {return 20;}
95 double getGlobalParam(unsigned short element, unsigned short param) {return get(element, param);}
97 void setGlobalParam(double value, unsigned short element, unsigned short param) {set(element, param, value);}
99 std::vector<std::pair<unsigned short, unsigned short>> listGlobalParams() {return {};}
101 void readFromResult(std::vector<std::tuple<unsigned short, unsigned short, unsigned short, double>>&) {}
102 // ------------------------------------------------------------------------
103
104 private:
105
108 };
109
111} // end namespace Belle2
112
CDC alignment and calibration constants.
static const baseType wireFwdDx
Wire X position on forward enplate taking wireBwdX as new nominal.
std::vector< std::pair< unsigned short, unsigned short > > listGlobalParams()
TODO: list stored global parameters.
static const baseType Wire4EndPartOuter
Outer conical end part = (63, 405)
static const baseType ICLayerNone
Last bit for continous layer (unused)
static unsigned short getGlobalUniqueID()
Get global unique id.
~CDCCalibration()
Destructor.
void readFromResult(std::vector< std::tuple< unsigned short, unsigned short, unsigned short, double > > &)
Not used.
static const baseType wireBwdZ
Wire Z position w.r.t. nominal on backward endplate.
static const baseType Wire4SuperLayers
SuperLayer = (SuperLayer, 0, 405)
static const baseType Wire4EndPartMiddle
Middle conical end part = (63, 411)
static const baseType xTlayerP0
Layer dependent constant (order 0) correction to x-t relation.
static const baseType wireFwdDy
Wire Y position on forward enplate taking wireBwdY as new nominal.
static const baseType boardT0
Board common T0 correction.
CDCCalibration()
Constructor.
double getLayerShiftY(int ICLayer)
Direct getter to Y shift of layer.
static const baseType wireFwdDz
Wire Z position on forward enplate taking wireBwdZ as new nominal.
static const baseType wireT0
Wire T0 correction w.r.t. common board T0.
static const baseType WireNone
Last bit for wire (actually over 100 unused - but useful for us)
static const baseType wireBwdY
Wire Y position w.r.t. nominal on backward endplate.
double getGlobalParam(unsigned short element, unsigned short param)
Get global parameter.
ClassDef(CDCCalibration, 2)
Storage for CDC alignment and calibration constants (mainly now for Millepede)
void setGlobalParam(double value, unsigned short element, unsigned short param)
Set global parameter.
static const baseType Wire4Layers
layer = (ICLayer, 400)
static const baseType wireBwdX
Wire X position w.r.t. nominal on backward endplate.
static const baseType layerY
Layer Y position w.r.t. geometry.
static const baseType layerX
Layer X position w.r.t. geometry.
static const baseType endPlateBwdPhi
Backward endplate rotation w.r.t. nominal (geometry)
static const baseType wireTension
Wire tension w.r.t. nominal (=50. ?)
static const baseType Wire4EndPartInner
Inner conical end part = (63, 412)
double getLayerShiftX(int ICLayer)
Direct getter to X shift of layer.
static const baseType endPlateFwdDphi
Forward enplate rotation taking endPlateBwdPhi as new nominal.
Base for calibration or alignment parameters identified by two unsigned shorts Typically first is som...
virtual void set(baseType id, baseType param, double value)
Set parameter correction for given WireID and parameter number.
int baseType
The underlying element type (also for param id)
virtual double get(baseType id, baseType param) const
Get parameter value for given element and parameter number.
Class to identify a wire inside the CDC.
Definition: WireID.h:34
Abstract base class for different kinds of events.