1 #ifndef DataFormats_L1TParticleFlow_layer1_emulator_h 2 #define DataFormats_L1TParticleFlow_layer1_emulator_h 23 bool read(std::fstream &from);
24 bool write(std::fstream &
to)
const;
33 bool read(std::fstream &from);
34 bool write(std::fstream &
to)
const;
45 bool read(std::fstream &from);
46 bool write(std::fstream &
to)
const;
64 bool read(std::fstream &from);
65 bool write(std::fstream &
to)
const;
77 bool read(std::fstream &from);
78 bool write(std::fstream &
to)
const;
91 bool read(std::fstream &from);
92 bool write(std::fstream &
to)
const;
108 float localEta(
float globalEta)
const;
109 float localPhi(
float globalPhi)
const;
111 bool read(std::fstream &from);
112 bool write(std::fstream &
to)
const;
120 bool read(std::fstream &from);
121 bool write(std::fstream &
to)
const;
164 bool read(std::fstream &from);
165 bool write(std::fstream &
to)
const;
197 bool read(std::fstream &from);
198 bool write(std::fstream &
to)
const;
225 bool read(std::fstream &from);
226 bool write(std::fstream &
to)
const;
229 template <
typename T>
238 typedef typename std::vector<T>::iterator
iterator;
245 inline unsigned int size()
const {
return obj.size(); }
251 std::vector<DetectorSector<ap_uint<96>>>
track;
255 bool read(std::fstream &from);
256 bool write(std::fstream &
to)
const;
261 std::vector<DetectorSector<HadCaloObjEmu>>
hadcalo;
262 std::vector<DetectorSector<EmCaloObjEmu>>
emcalo;
263 std::vector<DetectorSector<TkObjEmu>>
track;
266 bool read(std::fstream &from);
267 bool write(std::fstream &
to)
const;
281 bool read(std::fstream &from);
282 bool write(std::fstream &
to)
const;
296 bool read(std::fstream &from);
297 bool write(std::fstream &
to)
const;
316 "",
"Charged",
"Neutral",
"Electron",
"Muon",
"ChargedHadron",
"NeutralHadron",
"Photon",
"EGIso",
"EGIsoEle"};
328 bool read(std::fstream &from);
329 bool write(std::fstream &
to)
const;
340 std::vector<PVObjEmu>
pvs;
342 std::vector<OutputRegion>
out;
347 bool read(std::fstream &from);
348 bool write(std::fstream &
to)
const;
353 if (ipv <
pvs.size())
359 inline ap_uint<64>
pv_emu(
unsigned int ipv = 0)
const {
367 template <
typename T1,
typename T2>
369 unsigned int n = std::min<unsigned>(
in.size(), NMAX);
370 for (
unsigned int i = 0;
i <
n; ++
i)
372 for (
unsigned int i =
n;
i < NMAX; ++
i)
const l1t::PFCluster * srcCluster
bool read(std::fstream &from)
std::vector< PVObjEmu > pvs
bool write(std::fstream &to) const
const l1t::PFCluster * srcCluster
void fill(const PFRegionEmu ®ion, const PFNeutralObjEmu &src, pt_t puppiPt, puppiWgt_t puppiWgt)
void setHwIso(IsoType type, iso_t value)
const_iterator begin() const
float floatIso(IsoType type) const
bool read(std::fstream &from)
bool containsHw(glbeta_t glbeta, glbphi_t phi) const
const l1t::PFTrack * srcTrack
unsigned int size() const
ret
prodAgent to be discontinued
std::vector< EGObjEmu > egsta
void toFirmware(const std::vector< T1 > &in, unsigned int NMAX, T2 out[])
bool write(std::fstream &to) const
bool write(std::fstream &to) const
std::vector< PFChargedObjEmu > pfcharged
float localEta(float globalEta) const
const l1t::SAMuon * srcMu
const T & operator[](unsigned int i) const
float localPhi(float globalPhi) const
const l1t::PFCandidate * srcCand
std::vector< unsigned int > region_index
std::vector< EGIsoEleObjEmu > egelectron
std::vector< OutputRegion > out
const l1t::PFCluster * srcCluster
DetectorSector(float etamin, float etamax, float phicenter, float phiwidth, float etaextra=0, float phiextra=0)
float hwIsoVar(IsoType type) const
float hwIsoVar(IsoType type) const
void init(uint32_t run, uint32_t lumi, uint64_t event)
const l1t::PFCandidate * srcCand
bool contains(float eta, float phi) const
bool write(std::fstream &to) const
void resize(unsigned int size)
std::vector< PuppiObjEmu > puppi
float floatRelIso(IsoType type) const
std::vector< EGIsoEleObjEmu > egelectron
std::vector< T >::iterator iterator
float floatRelIso(IsoType type) const
bool write(std::fstream &to) const
bool read(std::fstream &from)
bool write(std::fstream &to) const
std::vector< EGIsoObjEmu > egphoton
bool read(std::fstream &from)
bool write(std::fstream &to) const
std::vector< PFChargedObjEmu > pfmuon
float floatIso(IsoType type) const
ap_ufixed< 11, 9, AP_TRN, AP_SAT > iso_t
void setHwIso(IsoType type, iso_t value)
const l1t::SAMuon * srcMu
bool read(std::fstream &from)
bool write(std::fstream &to) const
bool read(std::fstream &from)
const l1t::PFCluster * srcCluster
RegionizerDecodedInputs decoded
bool read(std::fstream &from)
bool write(std::fstream &to) const
std::vector< T >::const_iterator const_iterator
ap_ufixed< 14, 12, AP_TRN, AP_SAT > pt_t
std::vector< PFNeutralObjEmu > pfneutral
bool write(std::fstream &to) const
bool read(std::fstream &from)
bool read(std::fstream &from)
const l1t::PFCluster * srcCluster
unsigned long long uint64_t
unsigned int nObj(ObjType type, bool puppi) const
void fill(const PFRegionEmu ®ion, const HadCaloObjEmu &src, pt_t puppiPt, puppiWgt_t puppiWgt)
bool write(std::fstream &to) const
bool read(std::fstream &from)
static constexpr const char * objTypeName[nObjTypes]
const l1t::PFCluster * src
bool read(std::fstream &from)
std::vector< EGIsoObjEmu > egphoton
T & operator[](unsigned int i)
bool read(std::fstream &from)
bool write(std::fstream &to) const
std::vector< PFNeutralObjEmu > pfphoton
bool read(std::fstream &from)
ap_uint< 64 > pv_emu(unsigned int ipv=0) const
const l1t::PFTrack * srcTrack
const l1t::PFCluster * srcCluster
void fill(const PFRegion ®ion, const PFChargedObj &src)
bool read(std::fstream &from)
bool write(std::fstream &to) const
const l1t::PFTrack * srcTrack
const_iterator end() const
float floatIso(iso_t iso)
l1ct::PVObjEmu pv(unsigned int ipv=0) const
std::vector< ap_uint< 64 > > pvs_emu
const l1t::PFCluster * src
bool write(std::fstream &to) const
void fill(const PFRegionEmu ®ion, const PFChargedObjEmu &src)
const l1t::PFCandidate * srcCand
std::vector< PFInputRegion > pfinputs
std::vector< OutputBoard > board_out