fIndex(0),
fCurrentBin(0),
fEventPool(0),
- fEventBuffer(new AliVEvent*[size])
+ fEventBuffer(0)
{
- // Default constructor
- for (Int_t i = 0; i < size; i++)
- if (fFormat == 1) {
- fEventBuffer[i] = new AliAODEvent();
- } else if (fFormat == 0) {
- fEventBuffer[i] = new AliESDEvent();
- } else{
- AliWarning(Form("Unknown Format %5d", fFormat));
- }
+ // constructor
}
//______________________________________________________________________________
fIndex(0),
fCurrentBin(0),
fEventPool(0),
- fEventBuffer(new AliVEvent*[size])
+ fEventBuffer(0)
{
// Constructor
- for (Int_t i = 0; i < size; i++)
- if (fFormat == 1) {
- fEventBuffer[i] = new AliAODEvent();
- } else if (fFormat == 0) {
- fEventBuffer[i] = new AliESDEvent();
- } else{
- AliWarning(Form("Unknown Format %5d", fFormat));
- }
+
}
//______________________________________________________________________________
Bool_t AliMultiEventInputHandler::Init(TTree* tree, Option_t* /*opt*/)
{
// Initialisation necessary for each new tree
+ if (!fEventBuffer) {
+ fEventBuffer = new AliVEvent*[fBufferSize];
+
+ for (Int_t i = 0; i < fBufferSize; i++)
+ if (fFormat == 1) {
+ fEventBuffer[i] = new AliAODEvent();
+ } else if (fFormat == 0) {
+ fEventBuffer[i] = new AliESDEvent();
+ } else{
+ AliWarning(Form("Unknown Format %5d", fFormat));
+ }
+ }
+
+
fTree = tree;
if (!fTree) return kFALSE;
for (Int_t i = 0; i < fBufferSize; i++)
Bool_t AliMultiEventInputHandler::Notify(const char */*path*/)
{
// Connect to new tree
- fEventBuffer[0]->ReadFromTree(fTree, "");
+
+
+ static Bool_t first = kTRUE;
+
+
+ if (first) {
+ fEventBuffer[0]->ReadFromTree(fTree, "");
+ first = kFALSE;
+ } else {
+ fEventBuffer[0]->ReadFromTree(fTree, "reconnect");
+ }
+
+
return (kTRUE);
}