#ifndef h1algo_TStnH1JetMaker_hh #define h1algo_TStnH1JetMaker_hh // // H1Algo algorithm to combine tracks and clusters for more precise // determination of the hadronic final state // // instuctions are kept here // http://www-cdf.fnal.gov/tiki/tiki-index.php?page=Stntuple.HowToJetAlgos // //_____________________________________________________________________________ #include #include #include #include #include #include #include #include #include "NtupleAlgs/alg/TNtpH1JetMaker.hh" class TStnH1JetMaker: public TObject { protected: //Standard Ntuple blocks TStnEvent* fEvent; TStnHeaderBlock* fHeaderBlock; TCalDataBlock* fCalDataBlock; TStnJetBlock* fJetBlock; TStnJetBlock* fOutJetBlock; TStnTrackBlock* fTrackBlock; TStnVertexBlock* fZVertexBlock; Int_t fRun; Int_t fEvt; Float_t fZv; Int_t fNvtx; Int_t fCone; Int_t fJetType; Int_t fMc; Int_t fLevel; Int_t fPrintLevel; TNtpH1JetMaker fNtpH1JetMaker; Int_t UnpackBlocks(); Int_t FillNtpCal(); Int_t FillNtpTracks(); Int_t FillNtpJets(); Int_t FillStnJets(); Int_t FillVertex(); public: TStnH1JetMaker(); ~TStnH1JetMaker(); // run the algorithm // injetBlock is the input jet collection // outJetBlock is the output collection (caller creates/owns it) // level= bit I set to provide correction level I (default=0,5,7) Int_t MakeJets(TStnJetBlock* inJetBlock, TStnJetBlock* outJetBlock, Int_t level = 0xa1); TNtpH1JetMaker& NtpH1JetMaker() { return fNtpH1JetMaker; } void SetPrintLevel(Int_t i) { fPrintLevel = i; fNtpH1JetMaker.SetPrintLevel(i); } void Print(const Option_t*) const; ClassDef(TStnH1JetMaker,1) }; #endif