00001 #include "StHbtMaker/Infrastructure/StHbtTrack.hh"
00002 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00003 #include "StHbtMaker/Cut/trackCutMonitor_P_vs_Dedx.h"
00004 #include <cstdio>
00005 #include "StLorentzVector.hh"
00006
00007 #ifdef __ROOT__
00008 ClassImp(trackCutMonitor_P_vs_Dedx)
00009 #endif
00010
00012 trackCutMonitor_P_vs_Dedx::trackCutMonitor_P_vs_Dedx(){
00013 trackCutMonitor_P_vs_Dedx(0);
00014 }
00016 trackCutMonitor_P_vs_Dedx::trackCutMonitor_P_vs_Dedx(int charge){
00017 trackCutMonitor_P_vs_Dedx(charge,"P_vs_Dedx","Momentum (GeV/c) vs Energy loss (a.u.)",50,0.,1,50,0.,5e-6);
00018 }
00020 trackCutMonitor_P_vs_Dedx::trackCutMonitor_P_vs_Dedx(int charge, const char* TitCutMoni, const char* title,
00021 int nbins1, double min1, double max1,
00022 int nbins2, double min2, double max2){
00023 mHisto= new StHbt2DHisto(TitCutMoni, title, nbins1 , min1, max1, nbins2 , min2, max2);
00024 mCharge = charge;
00025 }
00027 trackCutMonitor_P_vs_Dedx::trackCutMonitor_P_vs_Dedx( const trackCutMonitor_P_vs_Dedx& cutMoni) {
00028 mCharge = cutMoni.mCharge;
00029 mHisto = new StHbt2DHisto(*(cutMoni.mHisto));
00030 }
00032 trackCutMonitor_P_vs_Dedx::trackCutMonitor_P_vs_Dedx( const trackCutMonitor_P_vs_Dedx& cutMoni, int charge) {
00033 mCharge = charge;
00034 mHisto = new StHbt2DHisto(*(cutMoni.mHisto));
00035 }
00037 trackCutMonitor_P_vs_Dedx::~trackCutMonitor_P_vs_Dedx(){
00038 delete mHisto;
00039 }
00041 void trackCutMonitor_P_vs_Dedx::Fill(const StHbtTrack* track){
00042 if (track->Charge() == mCharge || mCharge == 0)
00043 mHisto->Fill( abs( track->P() ), track->dEdx(), 1.);
00044 }
00045
00046