#ifndef FPS_L1CLUSTERCHUNK #define FPS_L1CLUSTERCHUNK /////////////////////////////////////////////////////////////////////////////// // // File: FPS_L1ClusterChunk.hpp // /////////////////////////////////////////////////////////////////////////////// // // Purpose: Header File for FPS objects Finder // Created: JUN-99: A. Lucotte // // Purpose: L1 FPS Cluster Finder code // - Form FPS clusters as defined in FPS_L1Cluster Class // - Count total number of FPS clusters found // History: JUL-99 A.L. // - completed the modification due to the use of // FPS_L1Cluster Class // - used packing/unpacking function by Mrinmoy // SEP-99 A.L. // - got rid of packing/unpacking functions // - switched to M. Fortner Format in his new class // D0MCH::CTTClusterChannel --still incomplete // - Added MIP bit pattern info, seen as an integer: // pattern = 7 bits:xxxxxxx <==> integer ranging 1 to 64 // Method Get_ClusterMip() has been used. // SEP-99 // - Added L1 Data (cluster Count): // electron / shower count per sector (==Analog Front End Board) // electron / shower count per quadrant(==Broadcaster level) // troncation used: // maximum of 16 e- + 16 shower / Sector // maximum of 32 e- + 32 shower / Quadrant // Note: sector index is 0 to 15 (NORTH) // 16 to 31 (SOUTH) // quadrant index is 0 to 3 (NORTH) // 4 to 7 (SOUTH) // - Added event count in the Class: // FPS_L1ClusterChunk( _count, Event ) // Oct-99 Kin Yip // - Introduce "const maxfps_cls" in the namespace l1fps_const to replace 512 ; // - make _l1fpsClusterCount "static" for ntuples. /////////////////////////////////////////////////////////////////////////////// #include "tsim_l1ft/FPS_L1Cluster.hpp" #include "unpack_data/ctt_l1/CTTClusterChannel.hpp" namespace l1fps_const { const int maxfps_cls = 512 ; } //========================================================= // FPS L1 Cluster Class //========================================================= class FPS_L1ClusterChunk{ public: FPS_L1ClusterChunk(int _count, edm::Event& ); ~FPS_L1ClusterChunk(); int Get_L1ClusterCount( edm::Event& ); void FPS_L1ClusterChunkForm( edm::Event& ); std::vector create_fpsl1Chunk(); static void initFPSHistogram(void) ; private: int _count; static int _l1fpsClusterCount; // Count L1 Objects int _l1FEelectronCount[31]; // Electron count / Front End int _l1FEshowerCount[31]; // Shower Count / Front End int _l1BRelectronCount[7]; // Electron Count / BRoadcaster int _l1BRshowerCount[7]; // Shower Count / BRoadcaster FPS_L1Cluster _fps_l1cluster[ l1fps_const::maxfps_cls ]; // List of L1 Objects }; #endif