fIdSens(0),
fIdName(0),
fITSmodules(0),
-fTiming(kFALSE)
+fTiming(kFALSE),
+fSimuParam(0)
{
// Default initializer for ITS
// The default constructor of the AliITS class. In addition to
//PH SetMarkerColor(kRed);
}
//______________________________________________________________________
-AliITS::AliITS(const Char_t *title):AliDetector("ITS",title),
-fDetTypeSim(0),
-fEuclidOut(0),
-fOpt("All"),
-fIdN(0),
-fIdSens(0),
-fIdName(0),
-fITSmodules(0),
-fTiming(kFALSE)
+AliITS::AliITS(const Char_t *title):
+ AliDetector("ITS",title),
+ fDetTypeSim(0),
+ fEuclidOut(0),
+ fOpt("All"),
+ fIdN(0),
+ fIdSens(0),
+ fIdName(0),
+ fITSmodules(0),
+ fTiming(kFALSE),
+ fSimuParam(0)
{
// The standard Constructor for the ITS class.
// It also zeros the variables
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
}
//______________________________________________________________________
-AliITS::AliITS(const char *name, const char *title):AliDetector(name,title),
-fDetTypeSim(0),
-fEuclidOut(0),
-fOpt("All"),
-fIdN(0),
-fIdSens(0),
-fIdName(0),
-fITSmodules(0),
-fTiming(kFALSE)
+AliITS::AliITS(const char *name, const char *title):
+ AliDetector(name,title),
+ fDetTypeSim(0),
+ fEuclidOut(0),
+ fOpt("All"),
+ fIdN(0),
+ fIdSens(0),
+ fIdName(0),
+ fITSmodules(0),
+ fTiming(kFALSE),
+ fSimuParam(0)
{
// The standard Constructor for the ITS class.
// It also zeros the variables
SetDetectors(); // default to fOpt="All". This variable not written out.
fDetTypeSim = new AliITSDetTypeSim();
-
//PH SetMarkerColor(kRed);
if(!fLoader) MakeLoader(AliConfig::GetDefaultEventFolderName());
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
if (fDetTypeSim){
delete fDetTypeSim;
fDetTypeSim = 0;
- }
+ }
+ if(fSimuParam){
+ delete fSimuParam;
+ fSimuParam=0;
+ }
}
//______________________________________________________________________
AliDigitizer* AliITS::CreateDigitizer(AliRunDigitizer* manager)const{
}
fDetTypeSim->SetDefaults();
-
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
}
//______________________________________________________________________
}
fDetTypeSim->SetDefaultSimulation();
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
}
return;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
MakeBranchInTreeD(fLoader->TreeD(),file);
}
Error("MakeBranchS","fDetTypeSim is 0!");
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
const Char_t *det[3] = {"SPD","SDD","SSD"};
const Char_t* digclass;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
TTree *treeS = fLoader->TreeS();
TTree *treeD = fLoader->TreeD();
Error("InitModules","fDetTypeSim is null!");
return kFALSE;
}
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
Int_t nl,indexMAX,index;
fLoader->LoadSDigits("recreate");
AliRunLoader* rl = fLoader->GetRunLoader();
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
+
for (Int_t iEvent = 0; iEvent < rl->GetNumberOfEvents(); iEvent++) {
// Do the Hits to Digits operation. Use Standard input values.
// Event number from file, no background hit merging , use size from
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
SetDefaults();
fLoader->LoadHits("read");
return;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
if(!GetITSgeom()) return; // need transformations to do digitization.
AliITSgeom *geom = GetITSgeom();
} // end for module
ClearModules();
-
+
// Add random noise to FO signals
if (all || det[0]) { // SPD present
fDetTypeSim->ProcessNoiseForFastOr();
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
SetDefaults();
HitsToPreDigits(fLoader->GetRunLoader()->GetEventNumber(),
return;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
if(!GetITSgeom()){
Error("HitsToPreDigits","fGeom is null!");
mod = (AliITSmodule *)fITSmodules->At(module);
sim->CreateFastRecPoints(mod,module,gRandom,ptarray);
lTR->Fill();
+ ptarray->Clear();
} // end for module
ClearModules();
points->Clear();
}
- Info("Hits2Clusters","Number of found fast clusters : %d",ncl);
+ AliDebug(1,Form("Number of found fast clusters : %d",ncl));
//cTree->Write();
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
SetDefaults();
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
fDetTypeSim->SDigitsToDigits(opt,(Char_t*)GetName());
// Add random noise to FO signals
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
SetDefaults();
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
fDetTypeSim->GetLoader()->LoadDigits();
TTree* digits = fDetTypeSim->GetLoader()->TreeD();
if (!digits) {
if (!itsLoader) {
AliError("ITS loader is NULL.");
}
- else {
- AliBaseLoader* foLoader = itsLoader->GetFOSignalsLoader();
- if (!foLoader) {
- AliError("FO signals base loader not retrieved.");
- }
- else {
- foLoader->Load();
- foSignals = (AliITSFOSignalsSPD*) foLoader->Get();
- }
- }
+ else {
+ if(!itsLoader->TreeD()) AliError(" !!! No TreeD available !!!");
+ foSignals = (AliITSFOSignalsSPD*)itsLoader->TreeD()->GetUserInfo()->FindObject("AliITSFOSignalsSPD");
+ if(!foSignals) AliError("FO signals not retrieved");
+ }
+
Bool_t deleteFOsignalsLater = kFALSE;
if (!foSignals) {
AliError("FO signals not available. No FO bits will be written.");
AliITSDDLModuleMapSDD* ddlsdd=fDetTypeSim->GetDDLModuleMapSDD();
- Bool_t isHLTmodeC=fDetTypeSim->IsHLTmodeC();
+ Char_t rawSDD=fDetTypeSim->GetSimuParam()->GetSDDRawDataFormat();
AliITSDDLRawData rawWriter;
- if(isHLTmodeC) rawWriter.SetUseCompressedSDDFormat(kTRUE);
- else rawWriter.SetUseCompressedSDDFormat(kFALSE);
+
+ rawWriter.SetSDDRawFormat(rawSDD);
//Verbose level
// 0: Silent
// 1: cout messages
rawWriter.SetVerbose(0);
//SILICON PIXEL DETECTOR
- Info("Digits2Raw", "Formatting raw data for SPD");
+ AliDebug(1,"Formatting raw data for SPD");
rawWriter.RawDataSPD(digits->GetBranch("ITSDigitsSPD"),foSignals);
if(deleteFOsignalsLater) delete foSignals;
//SILICON DRIFT DETECTOR
- Info("Digits2Raw", "Formatting raw data for SDD");
+ AliDebug(1,Form("Formatting raw data for SDD - Format code =%d",rawSDD));
rawWriter.RawDataSDD(digits->GetBranch("ITSDigitsSDD"),ddlsdd);
//SILICON STRIP DETECTOR
- Info("Digits2Raw", "Formatting raw data for SSD");
+ AliDebug(1,"Formatting raw data for SSD");
rawWriter.RawDataSSD(digits->GetBranch("ITSDigitsSSD"));
fLoader->UnloadDigits();