ATLAS Offline Software
Loading...
Searching...
No Matches
NnNormalization.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5
8#include <cmath>
9#include <limits>
10
11inline bool
12roughlyEqual(const double d, const double target, const double tolerance=0.001){
13 return (fabs(d-target)<tolerance);
14}
15
16double norm_rawToT(const double input){
17 return (input-21.)/12.;
18}
19
20double back_rawToT(const double input){
21 return input*12.+21.;
22}
23
24double norm_ToT(const double input){
25 return (input-15000.)/15000.;
26}
27
28double back_ToT(const double input){
29 return input*15000.+15000.;
30}
31
32double norm_pitch(const double input,const bool addIBL){
33 if (!addIBL){
34 if (roughlyEqual(input,0.4)) return -0.5;
35 if (roughlyEqual(input,0.6)) return +0.5;
36 //sroe, changed in response to ATLASRECTS-1827
37 return std::numeric_limits<double>::quiet_NaN();
38 //throw SiClusterizationToolNormalizationException();
39 //return -1; //never reached!
40 } else {
41 return (input-0.37)*10.;
42 }
43}
44
45double back_pitch(const double input,const bool addIBL){
46 if (!addIBL){
47 if (roughlyEqual(input,-0.5)) return 0.4;
48 if (roughlyEqual(input,0.5)) return 0.6;
49 return std::numeric_limits<double>::quiet_NaN();
50 //throw SiClusterizationToolNormalizationException();
51 //return 0; //never reached!
52 } else {
53 return input*0.10+0.37;
54 }
55}
56
57double norm_layerNumber(const double input){
58 return (input-0.95)/0.8;
59}
60
61double back_layerNumber(const double input){
62 return input*0.8+0.95;
63}
64double norm_layerType(const double input){
65 return input/0.65;
66}
67double back_layerType(const double input){
68 return input*0.65;
69}
70
71double norm_phi(const double input){
72 return (input-0.1)*10.;
73}
74
75double back_phi(const double input){
76 return input*0.1+0.1;
77}
78
79double norm_theta(const double input){
80 return (input)/0.8;
81}
82
83double back_theta(const double input){
84 return input*0.8;
85}
86double norm_phiBS(const double input){
87 return (input-0.1)*10.;
88}
89
90double back_phiBS(const double input){
91 return input*0.1+0.1;
92}
93
94double norm_thetaBS(const double input){
95 return (input)/0.8;
96}
97
98double back_thetaBS(const double input){
99 return input*0.8;
100}
101double norm_etaModule(const double input){
102 return input*0.5;
103}
104double back_etaModule(const double input){
105 return input*2.;
106}
107
108double norm_posX(const double input,const bool recenter){
109 if (recenter) return (input)/0.41;
110 return (input-(-0.58))/0.41;
111}
112
113double back_posX(const double input,const bool recenter){
114 if (recenter) return input*0.41;
115 return input*0.41+(-0.58);
116}
117
118double norm_posY(const double input){
119 return input/0.34;
120}
121
122double back_posY(const double input){
123 return input*0.34+0.;
124}
125double norm_errorX(const double input){
126 return (input-0.0005)*1000.;
127}
128double back_errorX(const double input){
129 return input*0.001+0.0005;
130}
131
132double norm_errorY(const double input){
133 return (input-0.018)/0.048;
134}
135
136double back_errorY(const double input){
137 return input*0.048+0.018;
138}
139
140double errorHalfIntervalX(const int nParticles){
141 return (nParticles==1) ? 0.03:0.05;
142}
143
144double errorHalfIntervalY(const int nParticles){
145 return (nParticles==1) ? 0.3:0.4;
146}
147
148
double norm_rawToT(const double input)
double back_layerType(const double input)
double norm_pitch(const double input, const bool addIBL)
double back_layerNumber(const double input)
double norm_posX(const double input, const bool recenter)
double back_ToT(const double input)
double back_phiBS(const double input)
double back_theta(const double input)
double back_posX(const double input, const bool recenter)
double back_phi(const double input)
double errorHalfIntervalY(const int nParticles)
double back_rawToT(const double input)
double norm_layerNumber(const double input)
double norm_thetaBS(const double input)
double norm_layerType(const double input)
double norm_ToT(const double input)
bool roughlyEqual(const double d, const double target, const double tolerance=0.001)
double back_etaModule(const double input)
double back_posY(const double input)
double norm_posY(const double input)
double norm_phi(const double input)
double norm_phiBS(const double input)
double norm_theta(const double input)
double back_errorY(const double input)
double back_errorX(const double input)
double norm_etaModule(const double input)
double norm_errorX(const double input)
double back_pitch(const double input, const bool addIBL)
double errorHalfIntervalX(const int nParticles)
double norm_errorY(const double input)
double back_thetaBS(const double input)