//_________________________________________________________
+#include <TSystem.h>
+#include <TFile.h>
+
#include "AliAOD.h"
#include "AliAODParticle.h"
#include "AliAODPairCut.h"
#include "AliHBTFunction.h"
#include "AliHBTMonitorFunction.h"
-#include <TSystem.h>
ClassImp(AliHBTAnalysis)
fTrackBuffer(0x0),
fProcessOption(kSimulatedAndReconstructed),
fNoCorrfctns(kFALSE),
+ fOutputFileName(0x0),
fkPass(&AliHBTAnalysis::PassPartAndTrack), //by default perform cut on both track and particle pair
fkPass1(&AliHBTAnalysis::PassPartAndTrack1), //used onluy by ProcessTracksAndParticles
fkPass2(&AliHBTAnalysis::PassPartAndTrack2),
fTrackBuffer(0x0),
fProcessOption(kSimulatedAndReconstructed),
fNoCorrfctns(kFALSE),
+ fOutputFileName(0x0),
fkPass(&AliHBTAnalysis::PassPartAndTrack), //by default perform cut on both track and particle pair
fkPass1(&AliHBTAnalysis::PassPartAndTrack1),
fkPass2(&AliHBTAnalysis::PassPartAndTrack2),
delete [] fParticleAndTrackMonitorFunctions;
delete fPairCut; // always have an copy of an object - we create we dstroy
+ delete fOutputFileName;
}
/*************************************************************************************/
{
//Calls Write for all defined functions in analysis
//== writes all results
+ TFile* oututfile = 0x0;
+ if (fOutputFileName)
+ {
+ oututfile = TFile::Open(*fOutputFileName,"update");
+ }
UInt_t ii;
for(ii = 0;ii<fNParticleFunctions;ii++)
{
}
fParticleAndTrackMonitorFunctions[ii]->Write();
}
+ delete oututfile;
+}
+/*************************************************************************************/
+
+void AliHBTAnalysis::SetOutputFileName(const char* fname)
+{
+ //Sets fiele name where to dump results,
+ //if not specified reults are written to gDirectory
+ if (fname == 0x0)
+ {
+ delete fOutputFileName;
+ fOutputFileName = 0x0;
+ return;
+ }
+ if ( strcmp(fname,"") == 0 )
+ {
+ delete fOutputFileName;
+ fOutputFileName = 0x0;
+ return;
+ }
+ if (fOutputFileName == 0x0) fOutputFileName = new TString(fname);
+ else *fOutputFileName = fname;
}
/*************************************************************************************/
void SetReader(AliReader* r){fReader = r;}
void WriteFunctions();
-
+ void SetOutputFileName(const char* fname);
+
void SetBufferSize(Int_t buffsize){fBufferSize=buffsize;}
void SetOwner(Bool_t owner=kTRUE){fIsOwner=owner;}
Bool_t IsOwner() const {return fIsOwner;}
EProcessOption fProcessOption;//Option that says waht analysis to do (Rec, Sim or SimAndRec)
Bool_t fNoCorrfctns;//Internal flag indicating that no cfs are set by the user (only monitor ones)
+ TString* fOutputFileName;//Fiele name where to dump results, if not specified reults are written to gDirectory
private: