///////////////////////////////////////////////////////////////////////////// #ifndef __EEezSectorStats_h__ #define __EEezSectorStats_h__ class EEezTower; class EEezStrip; #include class EEezSectorStats : public TDirectory { public: EEezSectorStats( const Char_t *name, const Char_t *title = "EEmc Sector Statistics" ); ~EEezSectorStats() { /* nada */ }; Int_t Init(); Int_t Make(); void Clear(); void setSector( Int_t sector ) { m_Sector = sector; } void setSeedEnergy( Float_t energy ) { m_SeedEnergy = energy; } void addHit( EEezTower *tower, Int_t det ); void addHit( EEezStrip *strip, Int_t uv ); Float_t getAdcSum ( Int_t det ) { return m_Adc[det]; } // ADC-ped sum for all TPQRUV in sector Float_t getRawAdcSum ( Int_t det ) { return m_RawAdc[det]; } // ADC sum for all TPQRUV in sector Float_t getEnergySum ( Int_t det ) { return m_Energy[det]; } // Energy response/deposit for all TPQRUV in sector Float_t getMipSum ( Int_t det ) { return m_Mips[det]; } // Equivalent number of mips for all TPQRUV in sector Float_t getNpe ( Int_t det ) { return m_Npe[det]; } // Estimated number of phototelectrons for all TPQRUV in sector Int_t getNumHits ( Int_t det ) { return m_NumHits[det]; } Int_t getNumSeed ( ) { return m_NumSeed; } void print(); private: // T = Tower // P = Preshower-1 // Q = Preshower-2 // R = Postshower // U = SMD U plane // V = SMD V plnae // // Cumulative statistics // Float_t m_Adc[6]; // Sum of TPQRUV ADC-ped response Float_t m_RawAdc[6]; // Sum of TPQRUV ADC response Float_t m_Energy[6]; // Sum of TPQDUV Energy response/deposit Float_t m_Mips[6]; // Sum of TPQRUV number of mips Float_t m_Npe[6]; // Sum of TPQRUV number of photoelectrons // // Event-by-event statistics // Int_t m_NumHits[6]; // Number of hit TPQRUV detector elements Int_t m_NumSeed; // Number of seed towers T // // Sector identification // Int_t m_Sector; // Sector index 0-11 Float_t m_SeedEnergy; // Energy cut for seed towers protected: ClassDef(EEezSectorStats,1); // Cumulates EEMC sector-based statistics, histograms }; #endif