#include //ClassImp(TPreFred) //ClassImp(TSumet) //ClassImp(TCaltrg) //ClassImp(TMutrg) //ClassImp(TTrktrg) //ClassImp(TBsctrg) //ClassImp(TMulti) //ClassImp(TTl1d) //_____________________________________________________________________________ TTl1d::TTl1d() { } //_____________________________________________________________________________ TTl1d::~TTl1d() { } //_____________________________________________________________________________ TPreFred* TTl1d::Module(Int_t Slot) { // returns pointer to the STNTUPLE preFRED block, corresponding to // the given slot (see CDF-4152 for more details), // GA stands for `Geographic Address' if (Slot == kSumetGA) { return &fSumet; } else if (Slot == kCaltrgGA) { return &fCaltrg; } else if (Slot == kMutrgGA) { return &fMutrg; } else if (Slot == kTrktrgGA) { return &fTrktrg; } else if (Slot == kBsctrgGA) { return &fBsctrg; } else if (Slot == kMultiGA) { return &fMulti; } else { //----------------------------------------------------------------------------- // this is a work around the bug in the trigger simulation, which doesn't // GA address in the simulated TL1D - at least SUMET card will be OK //----------------------------------------------------------------------------- return &fMulti; } } //_____________________________________________________________________________ Int_t TSumet::Etx() const { Int_t etx = (fWord[2] >> 11) & 0x2ff; if (etx > 511) etx = 512-etx; return etx; } //_____________________________________________________________________________ Int_t TSumet::Ety() const { Int_t ety = (fWord[2] >> 21) & 0x2ff; if (ety > 511) ety = 512-ety; return ety; } //_____________________________________________________________________________ void TTl1d::Print(const char* Opt) const { printf(" L1: Metsq Et Etx Ety PrevEt \n"); printf("%8i %8i %8i %8i %8i\n", fSumet.Metsq(), fSumet.Et(), fSumet.Etx(), fSumet.Ety(), fSumet.PrevEt()); }