1 #ifndef L2eemcGamma2009_H
2 #define L2eemcGamma2009_H
18 #ifdef IS_REAL_L2 //in l2-ana environment
19 #include "L2VirtualAlgo2009.h"
21 #include "StTriggerUtilities/L2Emulator/L2algoUtil/L2VirtualAlgo2009.h"
24 #include "L2gammaResult2009.h"
39 float clusterET[mxClust];
40 float clusterEta[mxClust];
41 float clusterPhi[mxClust];
42 unsigned short int clusterSeedTow[mxClust];
43 unsigned short int clusterQuad[mxClust];
44 unsigned short int clusterSeedRank[mxClust];
57 enum {mxEtow=(EtowGeom::mxEtaBin) * (EtowGeom::mxPhiBin)};
62 float par_seedEtThres;
63 float par_clusterEtThres;
64 float par_eventEtThres;
69 int mRdo2tower[mxEtow];
70 int mTower2rdo[mxEtow];
74 float wrkEtow_et[mxEtow];
75 int wrkEtow_tower_index[mxEtow];
76 int wrkEtow_tower_seed[mxEtow];
77 int wrkEtow_tower_seed_size;
81 float etow_et[mxEtow];
82 int etow_used[mxEtow];
83 int etow_tower_seed[mxEtow];
84 int etow_tower_seed_size;
85 float etow_clusterET[mxEtow];
86 int etow_clusterET_size;
96 mCluster towerCluster[mxEtow];
102 void clearEvent(
int token);
104 int countNonZeroTow(
int phi,
int eta);
105 float sumET(
int phi,
int eta);
106 void flagUsed(
int phi,
int eta);
107 void averageEtaPhi(
int phi,
int eta,
float *avePhi,
float *aveEta);
108 void quickSort(
int array[],
int start,
int end);
109 void swap(
int array[],
int index1,
int index2);
113 int initRunUser(
int runNo,
int *rc_ints,
float *rc_floats);
114 void finishRunUser();
116 bool decisionUser(
int token,
int *myL2Result);
118 void print1(
int token);
121 void print4(
int token,
int hitSize);
void computeUser(int token)