#include <ChargeDividerFP420.h>
Definition at line 13 of file ChargeDividerFP420.h.
◆ ChargeDividerFP420()
ChargeDividerFP420::ChargeDividerFP420 |
( |
double |
pit, |
|
|
double |
az420, |
|
|
double |
azD2, |
|
|
double |
azD3, |
|
|
int |
ver |
|
) |
| |
|
explicit |
◆ ~ChargeDividerFP420()
ChargeDividerFP420::~ChargeDividerFP420 |
( |
| ) |
|
|
override |
◆ DeconvolutionShape()
float ChargeDividerFP420::DeconvolutionShape |
( |
const PSimHit & |
hit | ) |
|
|
private |
◆ divide()
Implements CDividerFP420.
Definition at line 74 of file ChargeDividerFP420.cc.
90 std::cout <<
" CDividerFP420::ChargeDividerFP420:divide: direction= " << direction << std::endl;
91 std::cout <<
" CDividerFP420::ChargeDividerFP420:divide: direction.mag = " << direction.
mag() << std::endl;
92 std::cout <<
" obtained as ExitLocalP = " <<
hit.exitPoint() <<
" - "
93 <<
" EntryLocalP = " <<
hit.entryPoint() << std::endl;
97 <<
" deltaCut= " <<
deltaCut << std::endl;
100 int NumberOfSegmentation =
110 std::cout <<
"NumberOfSegmentation= " << NumberOfSegmentation << std::endl;
117 std::cout <<
"CDividerFP420::ChargeDividerFP420:divide: eLoss= " <<
eLoss << std::endl;
126 std::cout <<
"CDividerFP420::ChargeDividerFP420:divide: decSignal= " << decSignal << std::endl;
131 _ionization_points.resize(NumberOfSegmentation);
136 float *eLossVector =
new float[NumberOfSegmentation];
139 std::cout <<
"CDividerFP420::ChargeDividerFP420:divide: resize done; "
140 "then, fluctuateCharge ? = "
146 int pid =
hit.particleType();
147 float momentum =
hit.pabs();
148 float length = direction.
mag();
151 std::cout <<
"pid= " << pid <<
"momentum= " << momentum <<
"eLoss= " <<
eLoss <<
"length= " << length
157 for (
int i = 0;
i != NumberOfSegmentation; ++
i) {
161 hit.entryPoint() +
float((
i + 0.5) / NumberOfSegmentation) *
166 _ionization_points[
i] = edu;
171 hit.entryPoint() +
float((
i + 0.5) / NumberOfSegmentation) * direction);
176 _ionization_points[
i] = edu;
181 std::cout <<
"CDividerFP420::ChargeDividerFP420:divide: !!! RESULT !!!" << std::endl;
182 std::cout <<
" _ionization_points size = " << _ionization_points.size() << std::endl;
183 for (
unsigned int i = 0;
i < _ionization_points.size(); ++
i) {
184 std::cout <<
" eLossVector[i] i = " <<
i << eLossVector[
i] << std::endl;
188 delete[] eLossVector;
189 return _ionization_points;
References gather_cfg::cout, simKBmtfDigis_cfi::eLoss, HCALHighEnergyHPDFilter_cfi::energy, dqmMemoryStats::float, mps_fire::i, createfilelist::int, PV3DBase< T, PVType, FrameType >::mag(), and ctppsCommonDQMSource_cfi::verbosity.
◆ fluctuateEloss()
void ChargeDividerFP420::fluctuateEloss |
( |
int |
particleId, |
|
|
float |
momentum, |
|
|
float |
eloss, |
|
|
float |
length, |
|
|
int |
NumberOfSegmentation, |
|
|
float |
elossVector[] |
|
) |
| |
|
private |
Definition at line 192 of file ChargeDividerFP420.cc.
195 std::cout <<
"fluctuateEloss: eloss= " << eloss <<
"length= " << length <<
"NumberOfSegs= " << NumberOfSegs
200 double particleMass = 938.271;
207 particleMass = 0.511;
209 particleMass = 105.658;
211 particleMass = 139.570;
214 float segmentLength = length / NumberOfSegs;
219 double segmentEloss = (1000. * eloss) / NumberOfSegs;
221 std::cout <<
"segmentLength= " << segmentLength <<
"segmentEloss= " << segmentEloss << std::endl;
224 for (
int i = 0;
i < NumberOfSegs; ++
i) {
234 double(segmentLength),
242 std::cout <<
"sum= " << sum << std::endl;
246 float ratio = eloss / sum;
247 for (
int ii = 0;
ii < NumberOfSegs; ++
ii)
248 elossVector[
ii] =
ratio * elossVector[
ii];
250 float averageEloss = eloss / NumberOfSegs;
251 for (
int ii = 0;
ii < NumberOfSegs; ++
ii)
252 elossVector[
ii] = averageEloss;
References funct::abs(), gather_cfg::cout, mps_fire::i, cuy::ii, particleFlowDisplacedVertex_cfi::ratio, and ctppsCommonDQMSource_cfi::verbosity.
◆ PeakShape()
float ChargeDividerFP420::PeakShape |
( |
const PSimHit & |
hit | ) |
|
|
private |
◆ TimeResponse()
float ChargeDividerFP420::TimeResponse |
( |
const PSimHit & |
hit | ) |
|
|
private |
◆ chargedivisionsPerHit
int ChargeDividerFP420::chargedivisionsPerHit |
|
private |
◆ decoMode
bool ChargeDividerFP420::decoMode |
|
private |
◆ deltaCut
double ChargeDividerFP420::deltaCut |
|
private |
◆ fluctuate
◆ fluctuateCharge
bool ChargeDividerFP420::fluctuateCharge |
|
private |
◆ peakMode
bool ChargeDividerFP420::peakMode |
|
private |
◆ pitchcur
double ChargeDividerFP420::pitchcur |
|
private |
◆ verbosity
int ChargeDividerFP420::verbosity |
|
private |
◆ z420
double ChargeDividerFP420::z420 |
|
private |
◆ zD2
double ChargeDividerFP420::zD2 |
|
private |
◆ zD3
double ChargeDividerFP420::zD3 |
|
private |
◆ zStationBegPos
float ChargeDividerFP420::zStationBegPos[4] |
|
private |