241 AliError(
"Can not get Run from Run Loader");
249 AliError(
"Can not get FMD from gAlice");
270 AliError(
"No digitisation input defined");
282 AliError(Form(
"Failed at getting run loader from %s",
286 if (!runLoader->GetAliRun()) runLoader->LoadgAlice();
287 runLoader->GetAliRun();
290 AliError(
"Can not get Run from Run Loader");
297 AliError(
"Can not get FMD from gAlice");
304 AliFMDDebug(1, (
" Digitizing event number %d, got %d inputs",
306 for (Int_t inputFile = 0; inputFile < nFiles; inputFile++) {
307 AliFMDDebug(5, (
"Now reading input # %d", inputFile));
311 if (!currentLoader) {
312 Error(
"Exec",
"no run loader for input file # %d", inputFile);
317 AliFMDDebug(5, (
"Now summing the contributions from input # %d",inputFile));
325 TTree* sdigitsTree = inFMD->
TreeS();
327 AliError(
"No sdigit tree from input");
331 TFile* file = sdigitsTree->GetCurrentFile();
336 AliFMDDebug(10, (
"Input tree file %s content:", file->GetName()));
345 TBranch* sdigitsBranch = sdigitsTree->GetBranch(
"FMD");
346 if (!sdigitsBranch) {
347 AliError(
"Failed to get sdigit branch");
355 AliFMDDebug(3, (
"Will now sum contributions from SDigits"));
364 AliLoader* outFMD = out->GetLoader(
"FMDLoader");
366 AliError(
"Cannot get the FMDLoader output folder");
371 AliError(
"Failed to get output tree");
381 Int_t write = outTree->Fill();
382 AliFMDDebug(5, (
"Wrote %d bytes to digit tree", write));
398 AliFMDDebug(3, (
"Runnin our version of SumContributions"));
403 sdigitsBranch->SetAddress(&fmdSDigits);
406 Int_t nevents = Int_t(sdigitsBranch->GetEntries());
410 for (Int_t event = 0;
event < nevents;
event++) {
412 read += sdigitsBranch->GetEntry(event);
415 Int_t nsdigits = fmdSDigits->GetEntries ();
417 for (Int_t sdigit = 0; sdigit < nsdigits; sdigit++) {
420 static_cast<AliFMDSDigit*
>(fmdSDigits->UncheckedAt(sdigit));
422 AliFMDDebug(5, (
"Adding contribution of %d tracks",
424 AliFMDDebug(15, (
"Contrib from FMD%d%c[%2d,%3d] (%s) from track %d",
446 AliFMDDebug(3, (
"Size of cache: %d bytes, read %d bytes",
447 int(
sizeof(
fEdep)), read));
virtual void StoreDigits(const AliLoader *loader)
AliDigitizationInput * fDigInput
Manager of FMD parameters.
AliRunLoader * fRunLoader
virtual Int_t * GetTracks()
AliLoader * GetLoader(const char *detname) const
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
virtual TTree * MakeOutputTree(AliLoader *loader)
#define AliWarning(message)
FMD Digitizers declaration.
Concrete digitizer to make digits from hits. See also AliFMDBaseDigitizer documentation.
Int_t LoadSDigits(Option_t *opt="")
virtual void Digitize(Option_t *option="")
virtual void AddContribution(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t edep, Bool_t isPrimary, Int_t nTrackno, Int_t *tracknos, Int_t offset=0)
virtual Int_t GetTrack(Int_t i) const
virtual void DigitizeHits() const
virtual TClonesArray * SDigits()
Declaration of AliFMD detector driver.
virtual void SetTreeAddress()
#define AliFMDDebug(N, A)
const char * GetName() const
void SumContributions(TBranch *sdigitsBranch, int offset=0)
class for summable digits
void UnloadSDigits() const
UShort_t Detector() const
static Int_t GetDebugLevel(const char *module, const char *className)
AliDetector * GetDetector(const char *name) const
#define AliError(message)
static AliRunLoader * GetRunLoader(const char *eventfoldername)
AliRun * GetAliRun() const
AliFMDEdepMap fEdep
Run loader.
UShort_t GetNTrack() const