fW0 = 4.5 ;
fW0CPV = 4.0 ;
- fGeom = 0 ;
+ fGeom = 0 ;
- fDigits = 0 ;
- fDigitizer = 0 ;
- fEmcRecPoints = 0 ;
- fCpvRecPoints = 0 ;
+ fDigits = 0 ;
+ fDigitizer = 0 ;
+ fEmcRecPoints = 0 ;
+ fCpvRecPoints = 0 ;
- fIsInitialized = kFALSE ;
+ fIsInitialized = kFALSE ;
}
//____________________________________________________________________________
AliPHOSClusterizerv1::AliPHOSClusterizerv1(const char* headerFile,const char* digitsFile):AliPHOSClusterizer()
{
// ctor with the indication of the file where header Tree and digits Tree are stored
+
SetName("AliPHOSClusterizer");
SetTitle("Version 1") ;
fW0 = 4.5 ;
fW0CPV = 4.0 ;
- fToUnfold = kTRUE ;
-
- fHeaderFileName = headerFile ;
- fDigitsBranchTitle = digitsFile ;
-
- TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data() ) ;
-
- if(file == 0){
- if(fHeaderFileName.Contains("rfio")) // if we read file using HPSS
- file = TFile::Open(fHeaderFileName.Data(),"update") ;
- else
- file = new TFile(fHeaderFileName.Data(),"update") ;
- gAlice = (AliRun *) file->Get("gAlice") ;
- }
-
- AliPHOS * phos = (AliPHOS *) gAlice->GetDetector("PHOS") ;
- fGeom = AliPHOSGeometry::GetInstance(phos->GetGeometry()->GetName(),phos->GetGeometry()->GetTitle() );
-
- fDigits = new TClonesArray("AliPHOSDigit",10) ;
- fDigitizer = new AliPHOSDigitizer() ;
- fEmcRecPoints = new TObjArray(200) ;
- fCpvRecPoints = new TObjArray(200) ;
- fEmcRecPoints->SetOwner(); // This lets Clear() really detete rec.points in array
- fCpvRecPoints->SetOwner();
+ fToUnfold = kTRUE ;
- if(!gMinuit) gMinuit = new TMinuit(100) ;
-
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
-
+ fHeaderFileName = headerFile ;
+ fDigitsBranchTitle = digitsFile ;
- fIsInitialized = kTRUE ;
+ fIsInitialized = kFALSE ;
+
+ Init() ;
}
//____________________________________________________________________________
cout << endl ;
}
-
}
//____________________________________________________________________________
//____________________________________________________________________________
void AliPHOSClusterizerv1::Init()
{
- //Make all memory allocations which can not be done in default constructor.
+ // Make all memory allocations which can not be done in default constructor.
+ // Attach the Clusterizer task to the list of PHOS tasks
+
if(!fIsInitialized){
if(fHeaderFileName.IsNull())
fHeaderFileName = "galice.root" ;
-
TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data() ) ;
if(file == 0){
- file = new TFile(fHeaderFileName.Data(),"update") ;
+ if(fHeaderFileName.Contains("rfio")) // if we read file using HPSS
+ file = TFile::Open(fHeaderFileName.Data(),"update") ;
+ else
+ file = new TFile(fHeaderFileName.Data(),"update") ;
gAlice = (AliRun *) file->Get("gAlice") ;
}
if(!gMinuit) gMinuit = new TMinuit(100) ;
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
+ //add Task to //YSAlice/tasks/Reconstructioner/PHOS
+ TFolder * alice = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("YSAlice") ;
+ TTask * aliceRe = (TTask*)alice->FindObject("tasks/Reconstructioner") ;
+ TTask * phosRe = (TTask*)aliceRe->GetListOfTasks()->FindObject("PHOS") ;
+ phosRe->Add(this) ;
fIsInitialized = kTRUE ;
}
{
// ctor
- fSDigitizer = 0 ;
- fNinputs = 1 ;
- fPinNoise = 0.01 ;
- fEMCDigitThreshold = 0.01 ;
- fCPVNoise = 0.01;
- fCPVDigitThreshold = 0.09 ;
- fPPSDNoise = 0.0000001;
- fPPSDDigitThreshold = 0.0000002 ;
- fInitialized = kFALSE ;
-
- fHeaderFiles = 0;
- fSDigitsTitles = 0;
- fSDigits = 0 ;
- fDigits = 0;
+ fSDigitizer = 0 ;
+
+ fNinputs = 1 ;
+ fPinNoise = 0.01 ;
+ fEMCDigitThreshold = 0.01 ;
+ fCPVNoise = 0.01;
+ fCPVDigitThreshold = 0.09 ;
+ fPPSDNoise = 0.0000001;
+ fPPSDDigitThreshold = 0.0000002 ;
+ fInitialized = kFALSE ;
+
+ fHeaderFiles = 0;
+ fSDigitsTitles = 0;
+ fSDigits = 0 ;
+ fDigits = 0;
}
//____________________________________________________________________________
void AliPHOSDigitizer::Init()
{
// Makes all memory allocations
+ // Adds Digitizer task to the folder of PHOS tasks
if(!fInitialized){
- fHeaderFiles = new TClonesArray("TObjString",1) ;
- new((*fHeaderFiles)[0]) TObjString("galice.root") ;
+ if (fHeaderFiles == 0) {
+ fHeaderFiles = new TClonesArray("TObjString",1) ;
+ new((*fHeaderFiles)[0]) TObjString("galice.root") ;
+ }
//Test, if this file already open
TFile *file = (TFile*) gROOT->GetFile(((TObjString *) fHeaderFiles->At(0))->GetString() ) ;
- if(file == 0){
- file = new TFile(((TObjString *) fHeaderFiles->At(0))->GetString(),"update") ;
- gAlice = (AliRun *) file->Get("gAlice") ;
+ if(file==0){
+ if(((TObjString *) fHeaderFiles->At(0))->GetString().Contains("rfio"))
+ file = TFile::Open(((TObjString *) fHeaderFiles->At(0))->GetString(),"update") ;
+ else
+ file = new TFile(((TObjString *) fHeaderFiles->At(0))->GetString(),"update") ;
+ gAlice = (AliRun *) file->Get("gAlice") ; //If not read yet
}
else
file = new TFile(((TObjString *) fHeaderFiles->At(0))->GetString()) ;
file->cd() ;
- fSDigitsTitles = new TClonesArray("TObjString",1);
- new((*fSDigitsTitles)[0]) TObjString("") ;
+ if (fSDigitsTitles == 0) {
+ fSDigitsTitles = new TClonesArray("TObjString",1);
+ new((*fSDigitsTitles)[0]) TObjString("") ;
+ }
fSDigits = new TClonesArray("TClonesArray",1) ;
new((*fSDigits)[0]) TClonesArray("AliPHOSDigit",1000) ;
fIeventMax->AddAt((Int_t) gAlice->TreeE()->GetEntries(), 0 );
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
+ //add Task to //YSAlice/tasks/(S)Diditizer/PHOS
+ TFolder * alice = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("YSAlice") ;
+ TTask * aliceSD = (TTask*)alice->FindObject("tasks/(S)Digitizer") ;
+ TTask * phosSD = (TTask*)aliceSD->GetListOfTasks()->FindObject("PHOS") ;
+ phosSD->Add(this) ;
fInitialized = kTRUE ;
}
fHeaderFiles = new TClonesArray("TObjString",1) ;
new((*fHeaderFiles)[0]) TObjString(headerFile) ;
- // Header file, where result will be stored
- TFile * file = (TFile*) gROOT->GetFile(((TObjString *) fHeaderFiles->At(0))->GetString() ) ;
- if(file==0){
- if(((TObjString *) fHeaderFiles->At(0))->GetString().Contains("rfio"))
- file = TFile::Open(((TObjString *) fHeaderFiles->At(0))->GetString(),"update") ;
- else
- file = new TFile(((TObjString *) fHeaderFiles->At(0))->GetString(),"update") ;
- gAlice = (AliRun *) file->Get("gAlice") ; //If not read yet
- }
-
- file->cd() ;
-
fSDigitsTitles = new TClonesArray("TObjString",1); // Title name of the SDigits branch
new((*fSDigitsTitles)[0]) TObjString(sDigitsTitle) ;
- fSDigits = new TClonesArray("TClonesArray",1) ; // here list of SDigits wil be stored
- new((*fSDigits)[0]) TClonesArray("AliPHOSDigit",1000) ;
-
- fDigits = new TClonesArray("AliPHOSDigit",200000) ;
-
- fDigitsTitle = "" ;
-
-
- fSDigitizer = 0 ;
-
- fIevent = new TArrayI(1) ;
- fIevent->AddAt(-1,0 ) ;
- fIeventMax = new TArrayI(1) ;
-
- // Get number of events to process
- fIeventMax->AddAt((Int_t) gAlice->TreeE()->GetEntries(), 0 );
-
- fNinputs = 1 ;
-
- fPinNoise = 0.01 ;
- fEMCDigitThreshold = 0.01 ;
- fCPVNoise = 0.01;
- fCPVDigitThreshold = 0.09 ;
- fPPSDNoise = 0.0000001;
+ fNinputs = 1 ;
+ fPinNoise = 0.01 ;
+ fEMCDigitThreshold = 0.01 ;
+ fCPVNoise = 0.01;
+ fCPVDigitThreshold = 0.09 ;
+ fPPSDNoise = 0.0000001;
fPPSDDigitThreshold = 0.0000002 ;
-
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
- fInitialized = kTRUE ;
+ fInitialized = kFALSE ;
+
+ Init() ;
}
SetName("AliPHOSPID") ;
SetTitle("version1") ;
+ fIsInitialized = kFALSE ;
- TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data() ) ;
-
- if(file == 0){
- if(fHeaderFileName.Contains("rfio")) // if we read file using HPSS
- file = TFile::Open(fHeaderFileName.Data(),"update") ;
- else
- file = new TFile(fHeaderFileName.Data(),"update") ;
- gAlice = (AliRun *) file->Get("gAlice") ;
- }
-
- AliPHOS * phos = (AliPHOS *) gAlice->GetDetector("PHOS") ;
- fGeom = AliPHOSGeometry::GetInstance(phos->GetGeometry()->GetName(),phos->GetGeometry()->GetTitle() );
-
- fTrackSegments = new TClonesArray("AliPHOSTrackSegment",1) ;
- fTSMaker = 0 ;
- fEmcRecPoints = new TObjArray(1) ;
- fCpvRecPoints = new TObjArray(1) ;
- fClusterizer = 0 ;
- fRecParticles = new TClonesArray("AliPHOSRecParticle",100) ;
-
- fFormula = new TFormula("LambdaCuts","(x>1)*(x<3)*(y>0)*(y<x)") ;
-
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
-
- fDispersion = 2.0;
- fCpvEmcDistance = 3.0 ;
- fIsInitialized = kTRUE ;
+ Init() ;
}
//____________________________________________________________________________
void AliPHOSPIDv1::Init()
{
// Make all memory allocations that are not possible in default constructor
+ // Add the PID task to the list of PHOS tasks
+
if(!fIsInitialized){
if(fHeaderFileName.IsNull())
fHeaderFileName = "galice.root" ;
TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data() ) ;
if(file == 0){
- file = new TFile(fHeaderFileName.Data(),"update") ;
+ if(fHeaderFileName.Contains("rfio")) // if we read file using HPSS
+ file = TFile::Open(fHeaderFileName.Data(),"update") ;
+ else
+ file = new TFile(fHeaderFileName.Data(),"update") ;
gAlice = (AliRun *) file->Get("gAlice") ;
}
fFormula = new TFormula("LambdaCuts","(x>1)*(x<2.5)*(y>0)*(y<x)") ;
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
-
- fDispersion = 2.0;
+ fDispersion = 2.0 ;
fCpvEmcDistance = 3.0 ;
+ //add Task to //YSAlice/tasks/Reconstructioner/PHOS
+ TFolder * alice = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("YSAlice") ;
+ TTask * aliceRe = (TTask*)alice->FindObject("tasks/Reconstructioner") ;
+ TTask * phosRe = (TTask*)aliceRe->GetListOfTasks()->FindObject("PHOS") ;
+ phosRe->Add(this) ;
+
fIsInitialized = kTRUE ;
}
}
#include "TClonesArray.h"
#include "TROOT.h"
#include "TTree.h"
+#include "TFile.h"
// --- Standard library ---
#include <iostream.h>
if(fPID)
delete fPID ;
+
+// TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data()) ;
+
+// if(file != 0) {
+// file->Close();
+// delete file;
+// printf("File %s is closed\n",fHeaderFileName.Data());
+// }
+
}
//____________________________________________________________________________
void AliPHOSReconstructioner::SetBranchTitle(const char* branch, const char * title)
AliPHOSSDigitizer::AliPHOSSDigitizer():TTask("AliPHOSSDigitizer","")
{
// ctor
- fA = 0;
- fB = 10000000. ;
+ fA = 0;
+ fB = 10000000.;
fPrimThreshold = 0.01 ;
- fNevents = 0 ;
- fSDigits = 0 ;
- fHits = 0 ;
+ fNevents = 0 ;
+ fSDigits = 0 ;
+ fHits = 0 ;
fIsInitialized = kFALSE ;
}
AliPHOSSDigitizer::AliPHOSSDigitizer(const char* headerFile, const char *sDigitsTitle):TTask("AliPHOSSDigitizer","")
{
// ctor
- fA = 0;
- fB = 10000000.;
+ fA = 0;
+ fB = 10000000.;
fPrimThreshold = 0.01 ;
- fNevents = 0 ;
- fSDigitsTitle = sDigitsTitle ;
- fHeadersFile = headerFile ;
- fSDigits = new TClonesArray("AliPHOSDigit",1000);
- fHits = new TClonesArray("AliPHOSHit",1000);
+ fNevents = 0 ;
+ fSDigitsTitle = sDigitsTitle ;
+ fHeadersFile = headerFile ;
+ fIsInitialized = kFALSE ;
- TFile * file = (TFile*) gROOT->GetFile(fHeadersFile.Data() ) ;
-
- //File was not opened yet
- if(file == 0){
- if(fHeadersFile.Contains("rfio"))
- file = TFile::Open(fHeadersFile,"update") ;
- else
- file = new TFile(fHeadersFile.Data(),"update") ;
- gAlice = (AliRun *) file->Get("gAlice") ;
- }
-
- //add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
-
- fIsInitialized = kTRUE ;
+ Init();
}
//____________________________________________________________________________
//____________________________________________________________________________
void AliPHOSSDigitizer::Init()
{
+ // Initialization: open root-file, allocate arrays for hits and sdigits,
+ // attach task SDigitizer to the list of PHOS tasks
+ //
// Initialization can not be done in the default constructor
if(!fIsInitialized){
//if file was not opened yet, read gAlice
if(file == 0){
- file = new TFile(fHeadersFile.Data(),"update") ;
+ if(fHeadersFile.Contains("rfio"))
+ file = TFile::Open(fHeadersFile,"update") ;
+ else
+ file = new TFile(fHeadersFile.Data(),"update") ;
gAlice = (AliRun *) file->Get("gAlice") ;
}
fHits = new TClonesArray("AliPHOSHit",1000);
fSDigits = new TClonesArray("AliPHOSDigit",1000);
- // add Task to //root/Tasks folder
- TTask * roottasks = (TTask*)gROOT->GetRootFolder()->FindObject("Tasks") ;
- TTask * phostasks = (TTask*)(roottasks->GetListOfTasks()->FindObject("PHOS"));
- phostasks->Add(this) ;
+ //add Task to //YSAlice/tasks/(S)Diditizer/PHOS
+ TFolder * alice = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("YSAlice") ;
+ TTask * aliceSD = (TTask*)alice->FindObject("tasks/(S)Digitizer") ;
+ TTask * phosSD = (TTask*)aliceSD->GetListOfTasks()->FindObject("PHOS") ;
+ phosSD->Add(this) ;
fIsInitialized = kTRUE ;
}
//____________________________________________________________________________
- AliPHOSTrackSegmentMakerv1::AliPHOSTrackSegmentMakerv1() : AliPHOSTrackSegmentMaker()
+ AliPHOSTrackSegmentMakerv1::AliPHOSTrackSegmentMakerv1() : AliPHOSTrackSegmentMaker()
{
// ctor
SetTitle("version 1") ;
SetName("AliPHOSTrackSegmentMaker") ;
- fR0 = 10. ;
+ fR0 = 10. ;
fEmcFirst = 0 ;
fEmcLast = 0 ;
fCpvFirst = 0 ;
fCpvLast = 0 ;
fPpsdFirst= 0 ;
fPpsdLast = 0 ;
- fLinkLowArray = 0 ;
- fLinkUpArray = 0 ;
+ fLinkLowArray = 0 ;
+ fLinkUpArray = 0 ;
fIsInitialized = kFALSE ;
}
//____________________________________________________________________________
// ctor
SetTitle("version 1") ;
SetName("AliPHOSTrackSegmentMaker") ;
- fR0 = 10. ;
+ fR0 = 10. ;
fEmcFirst = 0 ;
fEmcLast = 0 ;
fCpvFirst = 0 ;
fPpsdFirst= 0 ;
fPpsdLast = 0 ;
- fHeaderFileName = headerFile ;
+ fHeaderFileName = headerFile ;
fRecPointsBranchTitle = branchTitle ;
-
- TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data() ) ;
-
- if(file == 0){
- file = new TFile(fHeaderFileName.Data(),"update") ;
- gAlice = (AliRun *) file->Get("gAlice") ;
- }
-
- AliPHOS * phos = (AliPHOS *) gAlice->GetDetector("PHOS") ;
- fGeom = AliPHOSGeometry::GetInstance(phos->GetGeometry()->GetName(),phos->GetGeometry()->GetTitle() );
-
- fEmcRecPoints = new TObjArray(200) ;
- fCpvRecPoints = new TObjArray(200) ;
- fClusterizer = new AliPHOSClusterizerv1() ;
-
- fTrackSegments = new TClonesArray("AliPHOSTrackSegment",200) ;
-
- fLinkLowArray = new TClonesArray("AliPHOSLink", 1000);
- fLinkUpArray = new TClonesArray("AliPHOSLink", 1000);
+ fIsInitialized = kFALSE ;
- fIsInitialized = kTRUE ;
+ Init() ;
}
//____________________________________________________________________________
if(!fIsInitialized){
if(fHeaderFileName.IsNull())
fHeaderFileName = "galice.root" ;
-
-
+
TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data() ) ;
-
+
if(file == 0){
- file = new TFile(fHeaderFileName.Data(),"update") ;
+ if(fHeaderFileName.Contains("rfio")) // if we read file using HPSS
+ file = TFile::Open(fHeaderFileName.Data(),"update") ;
+ else
+ file = new TFile(fHeaderFileName.Data(),"update") ;
gAlice = (AliRun *) file->Get("gAlice") ;
}
AliPHOS * phos = (AliPHOS *) gAlice->GetDetector("PHOS") ;
- fGeom = AliPHOSGeometry::GetInstance(phos->GetGeometry()->GetName(),phos->GetGeometry()->GetTitle() );
-
+ fGeom = AliPHOSGeometry::GetInstance(phos->GetGeometry()->GetName(),phos->GetGeometry()->GetTitle() );
fEmcRecPoints = new TObjArray(200) ;
fCpvRecPoints = new TObjArray(200) ;
fClusterizer = new AliPHOSClusterizerv1() ;
-
fTrackSegments = new TClonesArray("AliPHOSTrackSegment",200) ;