#ifndef LEVEL3SUMMARYWRITERMODULE_HH #define LEVEL3SUMMARYWRITERMODULE_HH //***************************************************************************** // File: Level3SummaryWriterModule.hh // ---------------------------------------------------------------------------- // Type: Class implementation source // Package: Level3Mods // Class: Level3SummaryWriterModule // Language: Standard C++ // Project: CDF Run II Offline Software Upgrade // OrigAuth: Kevin McFarland, Gilles de Lentdecker, Beate Heineman // Company: Fermilab //============================================================================= //***************************************************************************** //---------------------- // Base Class Headers -- //---------------------- #ifdef CDF #include "BaBar/Cdf.hh" #endif #include "FrameMods/HepHistModule.hh" #include "Framework/APPModule.hh" #include "Framework/APPMenu.hh" #include "Framework/AbsParmBool.hh" #include "Framework/AbsParmGeneral.hh" #include "Framework/AbsParmList.hh" #include "Framework/AbsParmString.hh" #include #include "ElectronObjects/CdfEmObject.hh" #include "ElectronObjects/CdfEmObjectView.hh" #include "Level3Mods/L3BeamSpot.hh" //------------------------------------ // Collaborating Class Declarations -- //------------------------------------ class CdfTrack; class HepLorentzVector; class HepHist1D; // --------------------- // -- Class Interface -- // --------------------- class Level3SummaryWriterModule : public HepHistModule { public: // Constructors Level3SummaryWriterModule( const char* const theName = "Level3SummaryWriterModule", const char* const theDescription = " L3 Module creating Summary Information" ); // Destructor virtual ~Level3SummaryWriterModule( ); // Operations virtual AppResult beginJob( AbsEvent* aJob ); virtual AppResult beginRun( AbsEvent* aRun ); virtual AppResult event( AbsEvent* anEvent ); virtual AppResult other( AbsEvent* anEvent ); virtual AppResult endRun( AbsEvent* aRun ); virtual AppResult endJob( AbsEvent* aJob ); virtual AppResult abortJob( AbsEvent* aJob ); virtual AppModule* clone(const char* cloneName); bool fillMet(AbsEvent* anEvent); bool fillTrack( AbsEvent* anEvent); bool fillSiTrack( AbsEvent* anEvent); bool fillElectron( AbsEvent* anEvent); bool fillMuon( AbsEvent* anEvent); bool fillJet( AbsEvent* anEvent, float cone); bool fillTau( AbsEvent* anEvent); const char* rcsId( void ) const; private: // ------------------------------------------------------------------- // Electron menu : // ------------------------------------------------------------------- APPMenu _commonMenu; AbsParmGeneral _Jet4Et; AbsParmGeneral _Jet7Et; AbsParmGeneral _TrackPt; AbsParmGeneral _EmObjectEt; AbsParmGeneral _MuonPt; AbsParmGeneral _TauPt; AbsParmGeneral _SiTrackPt; AbsParmGeneral _SiNbLayers; int nele; int nmu; int njet4; int njet7; int njet; int ntrack; int nSiTrack; int ntau; int nmet; int counter; short int content[8][4]; float bigArray[20000]; HepHist1D* _nbrfloats; HepHist1D* _nbrbytes; HepHist1D* _nbrofElec; HepHist1D* _nbrofMuon; HepHist1D* _nbrofTau; HepHist1D* _nbrofJet4; HepHist1D* _nbrofJet7; HepHist1D* _nbrofTrack; HepHist1D* _nbrofSVXTk; HepHist1D* _eletElec; HepHist1D* _phetElec; HepHist1D* _etaElec; HepHist1D* _eta2Elec; HepHist1D* _pTElec; HepHist1D* _curvElec; HepHist1D* _Z0Elec; HepHist1D* _Phi0Elec; HepHist1D* _D0Elec; HepHist1D* _lambdaElec; HepHist1D* _hadem2Elec; HepHist1D* _hadem3Elec; HepHist1D* _delxElec; HepHist1D* _delzElec; HepHist1D* _ChiSElec; HepHist1D* _ChiWElec; HepHist1D* _LshrCesElec; HepHist1D* _LshrEl2Elec; HepHist1D* _LshrEl3Elec; HepHist1D* _SeedIetaElec; HepHist1D* _SeedIphi; HepHist1D* _elIso4Elec; HepHist1D* _phIso4Elec; HepHist1D* _CesZElec; HepHist1D* _CesAvgChi2Elec; HepHist1D* _pTMuon; HepHist1D* _curvMuon; HepHist1D* _etaMuon; HepHist1D* _phi0Muon; HepHist1D* _d0Muon; HepHist1D* _z0Muon; HepHist1D* _emMuon; HepHist1D* _hadMuon; HepHist1D* _dxCmu; HepHist1D* _chixCmu; HepHist1D* _chixPosCmu; HepHist1D* _dxCmp; HepHist1D* _chixCmp; HepHist1D* _chixPosCmp; HepHist1D* _dxCmx; HepHist1D* _chixCmx; HepHist1D* _chixPosCmx; HepHist1D* _etJet4; HepHist1D* _etaJet4; HepHist1D* _phiJet4; HepHist1D* _etJet7; HepHist1D* _etaJet7; HepHist1D* _phiJet7; HepHist1D* _ptTrack; HepHist1D* _curvTrack; HepHist1D* _z0Track; HepHist1D* _d0Track; HepHist1D* _phi0Track; HepHist1D* _lambdaTrack; HepHist1D* _ptAllSiTrack; HepHist1D* _ptSiTrack; HepHist1D* _curvSiTrack; HepHist1D* _z0SiTrack; HepHist1D* _d0SiTrack; HepHist1D* _phi0SiTrack; HepHist1D* _lambdaSiTrack; HepHist1D* _D0SignificanceSiTrack; // HepHist1D* _hitmapSiTrack; //HepHist1D* _trackingalgoSiTrack; HepHist1D* _met; HepHist1D* _metphi; HepHist1D* _etSum; HepHist1D* _exSum; HepHist1D* _eySum; HepHist1D* _metSum; HepHist1D* _ptTau; HepHist1D* _etaTau; HepHist1D* _phiTau; HepHist1D* _cluMass; HepHist1D* _tracksMass; HepHist1D* _nbrSeeds; public: // keep beam spot L3BeamSpot _mBeamSpot; }; #endif // LEVEL3SUMMARYWRITERMODULE