Definition at line 85 of file ZHoughTransform.cc.
References funct::abs(), trackerTFP::DataFormat::base(), trackerTFP::begin, hgcalTBTopologyTester_cfi::cells, tt::Setup::chosenRofPhi(), tt::Setup::chosenRofZ(), trackerTFP::cot, ztail::d, dataFormats_, change_name::diff, HLT_2023v12_cff::distance, tt::Setup::dZ(), trackerTFP::DataFormats::format(), l1ctLayer2EG_cff::id, createfilelist::int, hgcalTBTopologyTester_cfi::layers, tt::Setup::mhtMinLayers(), GetRecoTauVFromDQM_MC_cff::next, funct::pow(), trackerTFP::r, alignCSCRings::s, tt::Setup::sectorCot(), EgammaValidation_Wenu_cff::sel, setup_, findQualityFiles::size, stage_, cms::cuda::stream, HLT_2023v12_cff::streams, stubsZHT_, HcalDetIdTransform::transform(), trackerTFP::zht, tt::Setup::zhtNumBinsZT(), tt::Setup::zhtNumCells(), tt::Setup::zhtNumStages(), and trackerTFP::zT.
Referenced by produce().
90 const double baseCot =
93 auto different = [&
id](StubZHT* stub) {
return !stub ||
id != stub->trackId(); };
94 for (
auto it = stubs.begin(); it != stubs.end();) {
96 const auto begin = find_if(it, stubs.end(), [](StubZHT* stub) {
return stub; });
103 const auto start = it;
104 const double cotGlobal = (*start)->cotf() +
setup_->
sectorCot((*start)->sectorEta());
105 id = (*it)->trackId();
106 it = find_if(it, stubs.end(), different);
110 for (vector<StubZHT*>& mhtCell : mhtCells)
111 mhtCell.reserve(
size);
113 for (
auto stub =
start; stub != it; stub++) {
115 const double chi = (*stub)->chi();
116 const double dChi =
setup_->
dZ((*stub)->ttStubRef(), cotGlobal);
121 const bool compA = 2. *
abs(chi) < baseZT + dChi;
122 const bool compB = 2. *
abs(chi) <
abs(
r) * baseCot + dChi;
123 const bool compC = 2. *
abs(chi) < dChi;
124 if (chi >= 0. &&
r >= 0.) {
133 if (chi >= 0. &&
r < 0.) {
142 if (chi < 0. && r >= 0.) {
151 if (chi < 0. &&
r < 0.) {
160 for (
int cell :
cells) {
164 mhtCells[cell].push_back(&
stubsZHT_.back());
170 vector<StubZHT*>& mhtCell = mhtCells[
sel];
172 auto toLayer = [](StubZHT* stub) {
return stub->layer(); };
176 for (StubZHT* stub : mhtCell)
193 id = (*it)->trackId();
double dZ(const TTStubRef &ttStubRef, double cot) const
double chosenRofZ() const
double chosenRofPhi() const
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
Abs< T >::type abs(const T &t)
double sectorCot(int eta) const
Power< A, B >::type pow(const A &a, const B &b)