#ifndef STNTUPLE_TStnTopSummaryBlock #define STNTUPLE_TStnTopSummaryBlock //----------------------------------------------------------------------------- // // definition of the STNTUPLE TopSummaryBlock // Author: Phillip Koehn // Date: Sept. 10 2001 // // Revised for TopSummary object // Evelyn Thomson, March 13, 2002 // //----------------------------------------------------------------------------- #include #include "TStnDataBlock.hh" #include "Stntuple/mod/InitStntupleDataBlocks.hh" class TStnEvent; class TStnTopSummaryBlock: public TStnDataBlock { friend Int_t StntupleInitTopSummaryBlock (TStnDataBlock* block, AbsEvent* event, int mode); //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ public: Int_t fTopEventClass; Int_t fnTightEle; Int_t fnTightMuo; Int_t fnTightJet; Int_t fnTightLepton; Int_t fnLooseEle; Int_t fnLooseMuo; Int_t fnLooseJet; Int_t fnLooseLepton; // Met values Double_t frawMissingEt; Double_t frawMissingEtPhi; Double_t fvertexCorrMissingEt; Double_t fvertexCorrMissingEtPhi; Double_t fmuonCorrMissingEt; Double_t fmuonCorrMissingEtPhi; //Vertices Double_t fleptonZVertex; Double_t fjetZVertex; //All-hadronic ttbar variables Double_t fhadSumEt; Double_t fhadSumEt3; Double_t fhadCentrality; Double_t fhadAplanarity; Double_t fhadSphericity; // indices into the default Ele, Muo, and Jet lists (not filled any more 02-15-02) Int_t fTightEleIndices[5]; Int_t fLooseEleIndices[5]; Int_t fTightMuoIndices[5]; Int_t fLooseMuoIndices[5]; Int_t fTightJetIndices[5]; Int_t fLooseJetIndices[5]; //------------------------------------------------------------------------------ // functions //------------------------------------------------------------------------------ public: // ****** constructors and destructor TStnTopSummaryBlock(); virtual ~TStnTopSummaryBlock(); // ****** accessors Int_t TopEventClass() const {return fTopEventClass;} Int_t nTightEle() const { return fnTightEle;} Int_t nTightMuo() const { return fnTightMuo;} Int_t nTightJet() const { return fnTightJet;} Int_t nTightLepton() const { return fnTightLepton;} Int_t nLooseEle() const { return fnLooseEle;} Int_t nLooseMuo() const { return fnLooseMuo;} Int_t nLooseJet() const { return fnLooseJet;} Int_t nLooseLepton() const { return fnLooseLepton;} Int_t TightEleIndices(Int_t INDEX) { return (INDEX < fnTightEle) ? fTightEleIndices[INDEX] : -1 ; } Int_t LooseEleIndices(Int_t INDEX) { return (INDEX < fnLooseEle) ? fLooseEleIndices[INDEX] : -1 ; } Int_t TightMuoIndices(Int_t INDEX) { return (INDEX < fnTightMuo) ? fTightMuoIndices[INDEX] : -1 ; } Int_t LooseMuoIndices(Int_t INDEX) { return (INDEX < fnLooseMuo) ? fLooseMuoIndices[INDEX] : -1 ; } Int_t TightJetIndices(Int_t INDEX) { return (INDEX < fnTightJet) ? fTightJetIndices[INDEX] : -1 ; } Int_t LooseJetIndices(Int_t INDEX) { return (INDEX < fnLooseJet) ? fLooseJetIndices[INDEX] : -1 ; } Double_t rawMissingEt() const { return frawMissingEt;} Double_t rawMissingEtPhi() const { return frawMissingEtPhi;} Double_t vertexCorrMissingEt() const { return fvertexCorrMissingEt;} Double_t vertexCorrMissingEtPhi() const { return fvertexCorrMissingEtPhi;} Double_t muonCorrMissingEt() const { return fmuonCorrMissingEt;} Double_t muonCorrMissingEtPhi() const { return fmuonCorrMissingEtPhi;} Double_t leptonZVertex() const { return fleptonZVertex;} Double_t jetZVertex() const { return fjetZVertex;} Double_t hadSumEt() const { return fhadSumEt;} Double_t hadSumEt3() const { return fhadSumEt3;} Double_t hadCentrality() const { return fhadCentrality;} Double_t hadAplanarity() const { return fhadAplanarity;} Double_t hadSphericity() const { return fhadSphericity;} // ****** overloaded functions of TObject void Clear(Option_t* opt=""); void Print(Option_t* opt="") const ; ClassDef(TStnTopSummaryBlock,2) }; #endif