/*************************************************************************** * * $Id: StHiSpectra.h,v 1.1 2002/04/02 20:05:18 jklay Exp $ * * Author: Bum Choi, UT Austin, Apr 2002 * *************************************************************************** * * Description: Class for making highpt inclusive spectra from highpt * uDST's * *************************************************************************** * * $Log: StHiSpectra.h,v $ * Revision 1.1 2002/04/02 20:05:18 jklay * Bums analysis tools for highpt uDSTs * * **************************************************************************/ #ifndef StHiSpectra_H #define StHiSpectra_H #include "StHiBaseAnalysis.h" class StHiSpectra : public StHiBaseAnalysis{ public: StHiSpectra(const char* inputDir="./", const char* match="st_physics", const char* outRootName="hianalysis.hist.root", const char* filename=0); virtual ~StHiSpectra(); void setEfficiencyFileName(char* a) { mEfficiencyFileName = a; } TString efficiencyFileName() const { return mEfficiencyFileName; } protected: static const int mNVarBin = 3; //! Int_t initMore(); void initHistograms(); void fillEventHistograms(); void finishHistograms(); Int_t findSector(float phi, float z); void trackLoop(); Bool_t acceptEvent(StHiMicroEvent*); TString mEfficiencyFileName; //! TF2* mEfficiencyMap; //! //*************************************************************** // histograms // // event histograms TH1D* h1Centrality; //! just look at centrality stuff TH1D* h1CentralityCut; //! TH1D* h1VertexZ; //! TH3D* h3DcaGlFitPtsEtaPrCut; //! reality check TH3D* h3CrossFirstHitDcaXYCut;//! TH2D* h2YieldPr; //! TH2D* h2YieldGl; //! TH1D* h1NEvent; //! # of events for the centrality class TH1D* h1EtaCut; //! just in case, store the eta cut TH3F* h3EtaPtVtxZ; //! TH3F* h3EtaPtVtxZRaw; //! struct Spectrum{ TH1D* h1RawPr; TH1D* h1RawGl; TH1D* h1EffCorrectedPr; TH1D* h1EffCorrectedGl; TH1D* h1CorrectedPr; TH1D* h1CorrectedGl; }; // // try different pt bins // struct Mean{ TH1D* h1OneOverPtPr; TH1D* h1OneOverPtGl; TH1D* h1WeightedMeanPr; // h1raw/h1OneOverPt TH1D* h1WeightedMeanGl; // h1raw/h1OneOverPt }; struct VarBin{ Spectrum specPM[3]; //!0 is Plus, 1 is Minus, 2 is Charged TH1D* h1RawRatioPr; TH1D* h1RawRatioGl; TH1D* h1CorrectedRatioPr; TH1D* h1CorrectedRatioGl; Mean meanPM[3]; //! TArrayD* ptBinsAry; Int_t nPtBinAry; }; VarBin varBin[mNVarBin]; //! ClassDef(StHiSpectra,1) }; #endif