00001 #ifndef L2wEemc2012_H 00002 #define L2wEemc2012_H 00003 /********************************************************************* 00004 * $Id: L2wEemc2012.h,v 1.4 2012/03/23 20:12:11 balewski Exp $ 00005 * \author Jan Balewski, MIT, 2008 00006 ********************************************************************* 00007 * Descripion: 00008 * example algo finding list of 2x2 BTOW clusters based on ET-seed list produced by L2-btow-calib algo 00009 * features: uses 2D array (ieta vs. iphi ) 00010 * Limitations: 00011 * - ignores seeds at the edges 00012 * - double processing for neighbours seeds 00013 ********************************************************************* 00014 */ 00015 00016 #ifdef IS_REAL_L2 //in l2-ana environment 00017 #include "L2VirtualAlgo2012.h" 00018 #else 00019 #include "StTriggerUtilities/L2Emulator/L2algoUtil/L2VirtualAlgo2012.h" 00020 #endif 00021 00022 class L2Histo; 00023 class L2EmcGeom2012; 00024 00025 struct L2weResult2012 { 00026 unsigned char trigger; // bit0=rnd, bit1=ET>thr 00027 unsigned char highestEt; // cluster Et with 60Gev Max. bits=Et*256/60 00028 unsigned short highestRDO; 00029 }; 00030 00031 class L2wEemc2012 : public L2VirtualAlgo2012 { 00032 private: 00033 00034 //..................... params set in initRun 00035 int par_dbg; 00036 float par_EtThresh; 00037 00038 //............... preserved for Decision(), 00039 L2weResult2012 resultBlob[L2eventStream2012::mxToken]; 00040 00041 // utility methods 00042 void createHisto(); 00043 00044 public: 00045 L2wEemc2012(const char* name,const char *uid, L2EmcDb2012* db, L2EmcGeom2012 *geo, char* outDir, int resOff); 00046 int initRunUser( int runNo, int *rc_ints, float *rc_floats); 00047 void finishRunUser();// at the end of each run 00048 void computeUser(int token); 00049 bool decisionUser(int token, int *myL2Result); 00050 }; 00051 00052 #endif 00053 00054 /********************************************************************** 00055 $Log: L2wEemc2012.h,v $ 00056 Revision 1.4 2012/03/23 20:12:11 balewski 00057 changes are to write a L2weResult to the L2Result array so we can differentiate random and real accepts, and update the plots so we can have some monitoring,no intended changes to the actual algo 00058 00059 Revision 1.3 2011/10/19 16:12:12 jml 00060 more 2012 stuff 00061 00062 Revision 1.2 2011/10/19 15:39:45 jml 00063 2012 00064 00065 Revision 1.1 2011/10/18 15:11:45 jml 00066 adding 2012 algorithms 00067 00068 Revision 1.1 2009/03/28 19:43:53 balewski 00069 2009 code 00070 00071 00072 00073 */ 00074
1.5.9