#include <TDirectory.h>
#include <TNtuple.h>
#include <TSystem.h>
+#include <TROOT.h>
// --- AliRoot header files
#include "AliZDCMerger.h"
fFnBgr = 0;
fBgrFile = 0;
fNEvBgr = 0;
- fTrHBgr = 0;
fHitsBgr = 0;
- fTrSDBgr = 0;
- fTrDBgr = 0;
fImpPar = 0;
fSpecn = 0;
fSpecp = 0;
//____________________________________________________________________________
AliZDCMerger::~AliZDCMerger()
{
-// Destructor
- if (fBgrFile) delete fBgrFile;
- if (fTrHBgr) delete fTrHBgr;
- if (fTrSDBgr) delete fTrSDBgr;
- if (fHitsBgr) delete fHitsBgr;
+ // Destructor
if (fSpecnFile) delete fSpecnFile;
if (fSpecpFile) delete fSpecpFile;
}
{
// --- Open the background file
- if (fMerge && !fBgrFile) fBgrFile = OpenBgrFile();
+ if (fMerge && !fBgrFile) fBgrFile = OpenBgrFile();
// --- Read from the TreeE impact parameter (b),
// # of spectators n and p (fSpecn, fSpecp)
// }
// }
- gAlice->GetEvent(fNEvBgr);
+ // gAlice->GetEvent(fNEvBgr); this is done in the steering macro
AliHeader *header = gAlice->GetHeader();
AliGenEventHeader* mcHeader = header->GenEventHeader();
fImpPar = ((AliGenHijingEventHeader*) mcHeader)->ImpactParameter();
TFile* AliZDCMerger::OpenBgrFile()
{
// Initialise background event
- TFile *file = new TFile(fFnBgr,"UPDATE");
+ TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(fFnBgr);
+ if(!file)cerr<<"AliZDCMerger: background file "<<fFnBgr<<" not found\n";
+ // TFile *file = new TFile(fFnBgr,"UPDATE");
printf("\n AliZDCMerger --- Background event -> %s file opened \n", fFnBgr);
fHitsBgr = new TClonesArray("AliZDCHit",1000);
fMHits = new TClonesArray("AliZDCMergedHit",1000);
AliZDC *ZDC = (AliZDC *)gAlice->GetModule("ZDC");
// if(ZDC) printf("\n Ho trovato lo ZDC!\n");
- // Hits tree
- if(fTrHBgr) delete fTrHBgr;
- fTrHBgr = 0;
- // SDigits tree
- if(fTrSDBgr) delete fTrSDBgr;
- fTrSDBgr = 0;
-
// fNEvBgr = 0; // Let's suppose to have 1 full Hijing event per file
// Hits tree
char treeBgrName[20];
AliZDC *ZDC = (AliZDC *)gAlice->GetModule("ZDC");
// if(ZDC) printf("\n Ho trovato lo ZDC!\n");
-
Int_t lightQ, lightC, sector[2], digit;
Int_t PMCZN = 0, PMCZP = 0, PMQZN[4], PMQZP[4], PMZEM1 = 0, PMZEM2 = 0;
Int_t i;
Int_t fNEvBgr; // Number of events in background file
TTree *fTrHBgr; // Hits tree for background event
TClonesArray *fHitsBgr; // TClonesArray of background hits
- TTree *fTrSDBgr; // SDigits tree for background event
- TTree *fTrDBgr; // Digits tree for background event
Float_t fImpPar; // Impact Parameter of the collision
Int_t fSpecn; // Number of spectator n
Int_t fSpecp; // Number of spectator p