// Author : Gero Flucke // Date : 2003-9-23 // last update: $Date: 2004/11/24 08:45:07 $ // by : $Author: flucke $ #ifndef __H1JETPROFILE2D_H #define __H1JETPROFILE2D_H // Root-headers #include class TH1; class TH2; class TCollection; class H1PartJet; class H1JetProfile2D : public TObject { public: explicit H1JetProfile2D(Bool_t flagRelPt = kFALSE, Float_t distEta = 1.0, Float_t distPhi = 1.0); virtual ~H1JetProfile2D(); void SetFlagRelPt(Bool_t flag) {fFlagRelPt = flag;} void SetDistances(Float_t distEta, Float_t distPhi); // void SetEtaHistogram(TH2* histEta) {fHistEta = histEta;} // void SetPhiHistogram(TH2* histPhi) {fHistPhi = histPhi;} void SetHistsEtaPhi(TH2* histEta, TH2* histPhi); virtual Bool_t FillProfile(const H1PartJet *jet, const TCollection *parts, Double_t yVar, Double_t weight = 1.); Double_t GetNumJetsInHistograms() const; virtual Bool_t NormaliseHistograms(Double_t = 0.); virtual void Print(Option_t *opt = NULL) const; private: TH2* fHistEta; //! internal pointer to the eta histogram TH2* fHistPhi; //! internal pointer to the phi histogram Float_t fDistEta; // use eta_jet-distEta < eta_part < eta_jet+distEta] for phi-profile Float_t fDistPhi; // use phi_jet-distPhi < phi_part < phi_jet+distPhi] for eta-profile TH1* fHistNumJets; // in FillProfile this is filled with yVar (with weight): normalisation! Bool_t fFlagRelPt; // flag to fill particle pt relative to jet-pt or absolute Bool_t fFlagAbsPhi; // internal: fill abs(Delta(phi)) in phi-profile, set if // phi-hist starts at >= 0. ClassDef(H1JetProfile2D,0) // Fill jet profiles in eta and phi with an extra dimension }; #endif