Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:36:43

0001 #ifndef L1Trigger_CSCTriggerPrimitives_CSCUpgradeAnodeLCTProcessor_h
0002 #define L1Trigger_CSCTriggerPrimitives_CSCUpgradeAnodeLCTProcessor_h
0003 
0004 /** \class CSCUpgradeAnodeLCTProcessor
0005  *
0006  * This class simulates the functionality of the anode LCT card. It is run by
0007  * the MotherBoard and returns up to two AnodeLCTs.  It can be run either in a
0008  * test mode, where it is passed an array of wire times, or in normal mode
0009  * where it determines the wire times from the wire digis.
0010 
0011  * Updates for high pileup running by Vadim Khotilovich (TAMU), December 2012
0012  */
0013 
0014 #include "L1Trigger/CSCTriggerPrimitives/interface/CSCAnodeLCTProcessor.h"
0015 
0016 class CSCUpgradeAnodeLCTProcessor : public CSCAnodeLCTProcessor {
0017 public:
0018   /** Normal constructor. */
0019   CSCUpgradeAnodeLCTProcessor(unsigned endcap,
0020                               unsigned station,
0021                               unsigned sector,
0022                               unsigned subsector,
0023                               unsigned chamber,
0024                               CSCBaseboard::Parameters& conf);
0025 
0026   /** Default destructor. */
0027   ~CSCUpgradeAnodeLCTProcessor() override {}
0028 
0029 private:
0030   /* This function looks for LCTs on the previous and next wires.  If one
0031      exists and it has a better quality and a bx_time up to 4 clocks earlier
0032      than the present, then the present LCT is cancelled.  The present LCT
0033      also gets cancelled if it has the same quality as the one on the
0034      previous wire (this has not been done in 2003 test beam).  The
0035      cancellation is done separately for collision and accelerator patterns. */
0036   void ghostCancellationLogicOneWire(const int key_wire, int* ghost_cleared) override;
0037 
0038   /* Quality definition that includes hits in GE1/1 or GE2/1 */
0039   int getTempALCTQuality(int temp_quality) const override;
0040 };
0041 
0042 #endif