#include "AliTRDSignalIndex.h"
#include "AliTRDfeeParam.h"
#include "AliTRDmcmSim.h"
+#include "AliTRDtrackletWord.h"
#include "AliTRDdigitsParam.h"
ClassImp(AliTRDrawData)
digitsManager->CreateArrays();
if (!fTrackletContainer) {
- //if (!fTrackletContainer && ( fReconstructor->IsWritingTracklets() || fReconstructor->IsProcessingTracklets() )) {
- // maximum tracklets for one HC
const Int_t kTrackletChmb=256;
fTrackletContainer = new UInt_t *[2];
fTrackletContainer[0] = new UInt_t[kTrackletChmb];
fTrackletContainer[1] = new UInt_t[kTrackletChmb];
+ memset(fTrackletContainer[0], 0, kTrackletChmb*sizeof(UInt_t)); //jkl
+ memset(fTrackletContainer[1], 0, kTrackletChmb*sizeof(UInt_t)); //jkl
}
AliTRDrawStreamBase *pinput = AliTRDrawStreamBase::GetRawStream(rawReader);
AliInfo(Form("Stream version: %s", input.IsA()->GetName()));
+ // ----- preparing tracklet output -----
+ AliDataLoader *trklLoader = AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets");
+ if (!trklLoader) {
+ AliError("Could not get the tracklets data loader, adding it now!");
+ trklLoader = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
+ AliRunLoader::Instance()->GetLoader("TRDLoader")->AddDataLoader(trklLoader);
+ }
+ if (!trklLoader->Tree())
+ AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets")->MakeTree();
+
// Loop through the digits
Int_t det = 0;
while (det >= 0)
{
- //det = input.NextChamber(digitsManager);
det = input.NextChamber(digitsManager,fTrackletContainer);
- //if (!fReconstructor->IsWritingTracklets()) continue;
- if (*(fTrackletContainer[0]) > 0 || *(fTrackletContainer[1]) > 0) WriteTracklets(det);
+ if (*(fTrackletContainer[0]) > 0 || *(fTrackletContainer[1]) > 0) WriteTracklets(det);
if (det >= 0)
{
}
}
+ if (AliDataLoader *trklLoader = AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets")) {
+ trklLoader->WriteData("OVERWRITE");
+ trklLoader->Unload();
+ }
+
if (fTrackletContainer){
delete [] fTrackletContainer[0];
delete [] fTrackletContainer[1];
}
}
- AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets");
- dl->WriteData("OVERWRITE");
+ // AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets"); //jkl: wrong
+ // dl->WriteData("OVERWRITE"); //jkl: wrong
//dl->Unload();
delete [] leaves;
return kTRUE;
-
}
-
-//_____________________________________________________________________________
-Bool_t AliTRDrawData::OpenOutput()
-{
- //
- // Connect the output tree
- //
-
- // tracklet writing
- if (1){
- //if (fReconstructor->IsWritingTracklets()){
- TString evfoldname = AliConfig::GetDefaultEventFolderName();
- fRunLoader = AliRunLoader::GetRunLoader(evfoldname);
-
- if (!fRunLoader) {
- fRunLoader = AliRunLoader::Open("galice.root");
- }
- if (!fRunLoader) {
- AliError(Form("Can not open session for file galice.root."));
- return kFALSE;
- }
-
- UInt_t **leaves = new UInt_t *[2];
- AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets");
- if (!dl) {
- AliError("Could not get the tracklets data loader!");
- dl = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
- fRunLoader->GetLoader("TRDLoader")->AddDataLoader(dl);
- }
- fTrackletTree = dl->Tree();
- if (!fTrackletTree)
- {
- dl->MakeTree();
- fTrackletTree = dl->Tree();
- }
- TBranch *trkbranch = fTrackletTree->GetBranch("trkbranch");
- if (!trkbranch)
- fTrackletTree->Branch("trkbranch",leaves[0],"det/i:side/i:tracklets[256]/i");
- }
- return kTRUE;
-
-}
-
-
-
-