16 for (
int iSample=0;iSample<
SAMPLES;iSample++) {
23 for (
int jCrate=0;jCrate<
NUM_CRATES;jCrate++) {
29 iCrate=4 ; dcc9[iCrate]=700; dcc19[iCrate]=701;
30 iCrate=0 ; dcc9[iCrate]=702; dcc19[iCrate]=703;
31 iCrate=1 ; dcc9[iCrate]=704; dcc19[iCrate]=705;
32 iCrate=5 ; dcc9[iCrate]=706; dcc19[iCrate]=707;
33 iCrate=11; dcc9[iCrate]=708; dcc19[iCrate]=709;
34 iCrate=15; dcc9[iCrate]=710; dcc19[iCrate]=711;
35 iCrate=17; dcc9[iCrate]=712; dcc19[iCrate]=713;
36 iCrate=14; dcc9[iCrate]=714; dcc19[iCrate]=715;
37 iCrate=10; dcc9[iCrate]=716; dcc19[iCrate]=717;
38 iCrate=2 ; dcc9[iCrate]=718; dcc19[iCrate]=719;
39 iCrate=9 ; dcc9[iCrate]=720; dcc19[iCrate]=721;
40 iCrate=12; dcc9[iCrate]=722; dcc19[iCrate]=723;
41 iCrate=3 ; dcc9[iCrate]=724; dcc19[iCrate]=725;
42 iCrate=7 ; dcc9[iCrate]=726; dcc19[iCrate]=727;
43 iCrate=6 ; dcc9[iCrate]=728; dcc19[iCrate]=729;
44 iCrate=13; dcc9[iCrate]=730; dcc19[iCrate]=731;
58 int fiber_channel=(
m_chan-1)%3;
59 int fiber=(
m_chan-fiber_channel-1)/3 +1;
79 int side=hdid.
zside();
84 if (pattern_number==1) {
95 if (pattern_number==2) {
97 if (subdet==4 && etaabs<30)
return;
99 if ((etaabs+2)%4!=0)
return;
101 if (i<1 || i>7)
return;
103 if ((phi+3)%4!=0)
return;
105 if (j<1 || j>18)
return;
109 if (side>0)
fCCoded[phi+10]=i+16;
112 if (pattern_number==3) {
113 if (depth>1 || etaabs!=18 || side!=1 || phi!=32)
return;
120 catch (...) {
return;}
196 for (
int i=0;
i<24;
i++)
197 m_patterns[
i].
setLoc(crate,slot,tb,
i+1);
208 for (
int tb=0;tb<2;tb++) {
209 if (slotsActive[slot]) m_slotsDoubled[slot][tb] =
new HalfHtrData(crate,slot,tb);
210 else m_slotsDoubled[slot][tb] = 0;
217 for (
int tb=0;tb<2;tb++) {
218 if (m_slotsDoubled[slot][tb])
delete m_slotsDoubled[slot][tb];
230 if (cratesActive[crate]) m_crates[crate] =
new CrateData(crate,slotsActive);
231 else m_crates[crate] = 0;
237 if (m_crates[crate])
delete m_crates[crate];
void Fill_by_hand(const HcalElectronicsMap *, int)
HcalSubdetector subdet() const
get the subdetector
int zside() const
get the z-side of the cell (1/-1)
std::vector< HBHEDataFrame >::const_iterator const_iterator
static const int NUM_CRATES
int depth() const
get the tower depth
void Fill(HtrXmlPatternToolParameters *params, HBHEDigiCollection::const_iterator data)
double fCQuantized[SAMPLES]
CrateData(int crate, int slotsActive[ChannelPattern::NUM_SLOTS])
static const int NUM_SLOTS
int ietaAbs() const
get the absolute value of the cell ieta
int iphi() const
get the cell iphi
void setHTR(int crate, int slot, int tb)
void setLoc(int crate, int slot, int tb, int chan)
HalfHtrData(int crate, int slot, int tb)
HalfHtrData * getHalfHtrData(int slot, int one_two_tb)
CrateData * getCrate(int crate)
HtrXmlPatternSet(int cratesActive[ChannelPattern::NUM_CRATES], int slotsActive[ChannelPattern::NUM_SLOTS])
char data[epos_bytes_allocation]
Readout chain identification for Hcal.
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id