Daq10K BEMC fire tpc test
Basic idea useing bemc tower hits to trigger on tpc sector.
If tower energy > Energy Threshold , then fire corresponding TPC sectors and only do tracking on fired TPC sectors.
The method of mapping between BEMC tower to TPC sector:
int gl3EMC::fireTPCSector(){
const float pi = 3.1415927;
const float zEdge = 20.;
const float maxPhiDiff = 3.1415927/12 + 0.1;
const float beginLayer = 45;
const float endLayer = 26;
const float sectorPhi[24] = {
2.*pi/6., 1.*pi/6., 0.*pi/6., 11.*pi/6., 10.*pi/6., 9.*pi/6., 8.*pi/6., 7.*pi/
6., 6.*pi/6., 5.*pi/6., 4.*pi/6., 3.*pi/6.,
4.*pi/6., 5.*pi/6., 6.*pi/6., 7.*pi/6., 8.*pi/6., 9.*pi/6., 10.*pi/6., 11.*pi/
6., 0.*pi/6., 1.*pi/6., 2.*pi/6., 3.*pi/6.};
int firedTPCMask = 0;
int nTowers_PassET = 0;
int nSector = 0;
for(int i=0; i<nBarrelTowers; i++)
{
if(barrelTower[i].getEnergy() < minEnergyForTrackingSeed) continue;
nTowers_PassET++;
l3EmcTowerInfo* towerInfo = barrelTower[i].getTowerInfo();
float z = towerInfo->getZ();
float phi = towerInfo->getPhi();
for(int j=0; j<24; j++){
if(!((j<12 && z>-zEdge) || (j>=12 && z<zEdge))) continue;
float phiDiff = fabs(phi - sectorPhi[j]);
while(phiDiff > pi) phiDiff -= 2*pi;
phiDiff = fabs(phiDiff);
if(phiDiff > maxPhiDiff) continue;
firedTPCMask |= 1<<(j+1);
//nSector++; may have double counting
}
}
for(int i=1; i<=24; i++){
if( (1<<i) & firedTPCMask) nSector++;
}
//printf(" %i ",nTowers_PassET);
nTowers = nTowers_PassET;
nfiredTpc = nSector;
return firedTPCMask;
}
A test on daq file is done. I trigger on only events triggered by BHT1 of Run11 pp500 online daq file.
Enery threshold = 2.5GeV
plot 1 shows number of tower hits pass the energy threshold
plot 2 shows number fired tpc sectors vs number of tower hits pass energy threhold (> 2.5GeV)
From these two plots we can get about 1.2 tower hits/event and about 1.7 Tpc sector fired per events with energy threshold = 2.5GeV.
plot3 number of fired TPC sector per BEMC hit pass energy threshold.
Energy threshold = 3 GeV
The same plots as Energy threshold = 2.5 GeV
we can get about 1.1tower hits/event and about 1.7 Tpc sectors fired per events with energy threshold = 3GeV
Energy threshold = 4GeV
we can get about 1.1 tower hits/event and about 1.6 Tpc sectors fired per events with energy threshold = 4GeV
- yiguo's blog
- Login or register to post comments