#include "AliJHistManager.h"
+#include <TMath.h>
using namespace std;
//////////////////////////////////////////////////////
// AliJBin
}
//_____________________________________________________
void AliJBin::AddBin( const TString& v ){
- if( fIsFixedBin ) { JERROR( "You can't Add Bin"); }
+ if( fIsFixedBin ) { JERROR( "You can't Add Bini "+GetName()); }
fBinStr.push_back( (v=="_")?"":v );
fBinD.push_back( v.Atof() );
}
//_____________________________________________________
void AliJBin::AddBin( float v ){
- if( fIsFixedBin ) { JERROR( "You can't Add Bin"); }
+ if( fIsFixedBin ) { JERROR( "You can't Add Bin "+GetName()); }
fBinD.push_back( v );
fBinStr.push_back(Form("%f",v));
}
std::cout<<"*"+GetString()<<std::endl;
}
+int AliJBin::GetBin(double x){
+ int i = TMath::BinarySearch( fBinD.size(), &fBinD[0], x );
+ if( fMode == kRange && i+1 >= int(fBinD.size()) ) return -1;
+ return i;
+}
+
//////////////////////////////////////////////////////
// AliJArrayBase
//////////////////////////////////////////////////////
TString AliJTH1::BuildTitle(){
TString title = fTitle;
for( int i=0;i<Dimension();i++ )
- title+=((int(fBins.size()) > i && fBins[i] != NULL)?" "+fBins[i]->BuildTitle(i):"")
+ title+=((int(fBins.size()) > i && fBins[i] != NULL)?" "+fBins[i]->BuildTitle(Index(i)):"")
+Form("%02d",Index(i));
return title;
}
this->cd();
}
+AliJHistManager::AliJHistManager(TString name, TString dirname):
+ AliJNamed(name,"","",0),
+ fIsLoadMode(false),
+ fDirectory(gDirectory),
+ fConfigStr(),
+ fBin(0),
+ fHist(0),
+ fManager(0),
+ fBinNames(0),
+ fBinConfigs(0),
+ fHistNames(0),
+ fHistConfigs(0)
+{
+ // constructor
+ if( dirname.Length() > 0 ) {
+ fDirectory = (TDirectory*)gDirectory->Get(dirname);
+ if( !fDirectory ){
+ fDirectory = gDirectory->mkdir( dirname );
+ }
+ }
+ if( !fDirectory ){
+ fDirectory = gDirectory;
+ }
+ this->cd();
+}
+
//_____________________________________________________
AliJHistManager::AliJHistManager(const AliJHistManager& obj) :
AliJNamed(obj.fName,obj.fTitle,obj.fOption,obj.fMode),
void AliJHistManager::WriteConfig(){
TDirectory *owd = gDirectory;
+ cout<<"DEBUG_T1: "<<gDirectory<<endl;
+ gDirectory->Print();
TDirectory * fHistConfigDir = fDirectory->mkdir("HistManager");
fHistConfigDir->cd();
TObjString * config = new TObjString(GetString().Data());