- TTree* treeS = fLoader->TreeS();
- AliDebug(1,Form("TreeS=%p",treeS));
+
+ // for pile up studies
+ float t0=fgkMaxIntTime; int aa=0;
+ AliHeader* header = runLoader->GetHeader();
+ AliGenCocktailEventHeader* cocktailHeader =
+ dynamic_cast<AliGenCocktailEventHeader*>(header->GenEventHeader());
+ if (cocktailHeader) {
+ AliGenCocktailEventHeader* genEventHeader = (AliGenCocktailEventHeader*) (header->GenEventHeader());
+ TList* headers = genEventHeader->GetHeaders();
+ TIter nextH(headers);
+ AliGenEventHeader *entry;
+ while((entry = (AliGenEventHeader*)nextH())) {
+ float t = entry->InteractionTime();
+ if (TMath::Abs(t)<TMath::Abs(t0)) t0 = t;
+ aa++;
+ }
+ } else {
+ AliGenEventHeader* evtHeader =
+ (AliGenEventHeader*)(header->GenEventHeader());
+ if (evtHeader)
+ {
+ float t = evtHeader->InteractionTime();
+ if (TMath::Abs(t)<TMath::Abs(t0)) t0 = t;
+ aa++;
+ }
+ else
+ {
+ // some generators may not offer a header, if which
+ // case we cannot get the interaction time, so we assume zero
+ t0 = 0.;
+ }
+ }
+
+ loader->MakeSDigitsContainer();
+
+ TTree* treeS = loader->TreeS();
+