 |
ATLAS Offline Software
|
Go to the documentation of this file.
27 const std::vector<Gaudi::Details::PropertyBase*> props = this->getProperties();
28 for( Gaudi::Details::PropertyBase* prop : props ) {
29 if (prop->ownerTypeName()==this->type()) {
30 ATH_MSG_DEBUG(
"Property:\t" << prop->name() <<
"\t : \t"<< prop->toString());
37 return StatusCode::SUCCESS;
46 double hitr= storedhit.
hitptr->getR();
48 bool passesPhi =
true;
49 bool passesEta =
true;
53 bool isTruthBin = ((m_truthbin.size()>
step.stepNum())&&(m_truthbin[
step.stepNum()]==
idx));
62 half_xm_bin_pars.xm =
step.binWidth(4)/2.0;
65 double xrange = std::abs(xshift) + r1 *
step.binWidth(2) / 2.0
66 + ((r2*
step.binWidth(3) - r1*
step.binWidth(2)) / (r2 - r1) * (hitr - r1))/2.0;
69 ATH_MSG_ERROR(
"Negative xrange: " << std::abs(xshift) <<
" " << r1 *
step.binWidth(2) / 2.0 <<
" "
70 << ((r2*
step.binWidth(3) - r1*
step.binWidth(2)) / (r2 - r1) * (hitr - r1))/2.0);
74 double stripLength = 25.0;
76 if (!storedhit.
hitptr->isBarrel()) {
87 if (isTruthBin && !passesPhi)
ATH_MSG_DEBUG(
"Hit fails Phi cut, lyr=" << storedhit.
hitptr->getPhysLayer() <<
" "
91 <<
" " << hitr <<
" " << trackpars);
98 double width_z_in =
step.binWidth(0)/2.0;
99 double width_z_out =
step.binWidth(1)/2.0;
100 double zrange = width_z_in + (width_z_out-width_z_in) * std::abs((hitr-r1))/(r2-r1);
104 double stripLength = 25.0;
106 if (!storedhit.
hitptr->isBarrel()) {
117 if (isTruthBin && !passesEta)
ATH_MSG_DEBUG(
"Hit fails Eta cut , lyr=" << storedhit.
hitptr->getPhysLayer() <<
" r=" << hitr <<
" "
122 if (isTruthBin && !(passesPhi && passesEta))
ATH_MSG_DEBUG(
"Hit in truth bin fails cuts: " <<
" passesPhi=" << passesPhi <<
" passesEta=" << passesEta);
124 return passesPhi && passesEta;
130 for (
const unsigned &steppar :
step.stepPars()) {
131 for (
const unsigned &phipar :
m_phipars) {
132 if (steppar == phipar)
141 for (
const unsigned &steppar :
step.stepPars()) {
142 for (
const unsigned &etapar :
m_etapars) {
143 if (steppar == etapar)
162 if (
step.isFirstStep()) {
181 keypars.
xm =
step.binCenter(4,
bin.idx()[2]);
186 sm.
writeVar(
"x1p", rotated_coords.xy1p.first);
187 sm.
writeVar(
"y1p", rotated_coords.xy1p.second);
188 sm.
writeVar(
"cosb", rotated_coords.rotang.first);
189 sm.
writeVar(
"sinb", rotated_coords.rotang.second);
192 sm.
writeVar(
"x_factor", 4.0 * keypars.
xm / (rotated_coords.y * rotated_coords.y));
197 double w_in = r_in *
step.binWidth(2) / 2.0;
198 double w_out = r_out *
step.binWidth(3) / 2.0;
199 double w_x =
step.binWidth(4) / 2.0;
200 double dw_dr = (w_out - w_in) / (r_out - r_in);
202 sm.
writeVar(
"w_x", 4.0 * w_x / ((r_out - r_in) * (r_out - r_in)));
221 double z_in =
step.binCenter(0,
bin.idx()[0]);
222 double z_out =
step.binCenter(1,
bin.idx()[1]);
223 double dz_dr = (z_out - z_in) / (r_out - r_in);
233 double w_in =
step.binWidth(0) / 2.0;
234 double w_out =
step.binWidth(1) / 2.0;
235 double dw_dr = (w_out - w_in) / (r_out - r_in);
void xrange(TH1 *h, bool symmetric)
const std::vector< unsigned > m_etapars
std::shared_ptr< const FPGATrackSimHit > hitptr
virtual double etaResidual(const FPGATrackSimBinUtil::ParSet &parset, FPGATrackSimHit const *hit) const override
Gaudi::Property< double > m_rout
Gaudi::Property< double > m_etapad
virtual const FPGATrackSimTrackPars parSetToTrackPars(const FPGATrackSimBinUtil::ParSet &parset) const override
Binning Classes for BinStep.
std::atomic< int > padding
static double dPhidQOverPt(double hitr)
static double dPhiHitTrkFromPars(double r, const FPGATrackSimTrackPars &pars)
def etamod(flags, cells_name, *args, **kw)
const std::vector< unsigned > m_phipars
Gaudi::Property< double > m_phipad
virtual bool hitInBin(const FPGATrackSimBinStep &step, const FPGATrackSimBinUtil::IdxSet &idx, FPGATrackSimBinUtil::StoredHit &storedhit) const override
::StatusCode StatusCode
StatusCode definition for legacy code.
Binning Utilities for GenScanTool.
Gaudi::Property< double > m_qptpad
Gaudi::Property< double > m_d0pad
Gaudi::Property< double > m_rin
bool stepIsREta(const FPGATrackSimBinStep &step) const
virtual double phiResidual(const FPGATrackSimBinUtil::ParSet &parset, FPGATrackSimHit const *hit) const override
FPGATrackSimKeyLayerTool m_keylyrtool
bool stepIsRPhi(const FPGATrackSimBinStep &step) const
static double dZdEta(double eta)
FPGATrackSimKeyLayerTool::KeyLyrPars parSetToKeyPars(const FPGATrackSimBinUtil::ParSet &parset) const
Gaudi::Property< double > m_z0pad
Binning Classes for BinTool.
virtual StatusCode initialize() override
void writeVar(const std::string &var, T val)
virtual void writeLUTs(const FPGATrackSimBinStep &step) const override
Gaudi::Property< std::vector< double > > m_slPerEtaMod
Structs that store the 5 track parameters.