L2-high-energy-Algo ( 100% accept)
L2-high-ene-algo (does not abort)
int par_dbg; // use 0 for real event processing int par_maxList; // can't exceed hardcoded value of 150 int par_adcThres; // in ADC counts above peds
int hiSize=getListSize(token); const unsigned int *value=getListData(token); printf("pr2-%s: dump %d acceted towers for token=%d\n softID ADC-ped\n",getName(),hiSize, token); for(int ic=0;ic < hiSize;ic++,value++) { int adc=(*value) > > 16; int softID=(*value)&0xffff; printf("%4d %d, \n",softID,adc); }
-------- event loop------- for(i=0;i< hitSize;i++,hit++) { if(hit->adc< par_adcThres) continue; if(hiTwEve-> size>=par_maxList) break; // overflow protection int softID=mRdo2towerID[hit->rdo]; (*value)= ((hit-> adc) <<16 )+ softID; // store composite value hiTwEve-> size++; value++; // increment index }
Descripion: this algo selects high-energy towers from BTOW & ETOW data and take advantage of common calibration to be deployed at L2 in February of 2008. The common (for B & E) ADC threshold is defined in units of adc above ped i.e. in ET. The output of this algo _one_ lists of pairs {adc,softID}. You need 2 instances of this ago to cover E & B-EMC. Saving of those lists to disk is beyond the scope of this algo. SoftID is defined as follows: *BTOW : traditional softID [1-4800] used since 20th centry. *ETOW: range [0..719], eta index changes slower int ieta= (x-> eta-1); int iphi= (x-> sec-1)*EtowGeom::mxSubs + x-> sub-'A' ; int softId= iphi+EtowGeom::mxPhiBin*ieta; There is a hardcoded limit on the max list length at 256 towers. In case of an overflow a random (not realy) selection of towers will be added to the list until the software limit is reached.
L2:hienBtow08 Compute CPU/eve MPV 1 kTicks, FWHM=2 L2:hienBtow08 Decision CPU/eve MPV 0 kTicks L2:hienBtow08 Deci+Comp CPU/eve MPV 2 kTicks, FWHM=3