X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMakerv1.cxx;h=949dc0590d7d0a3796ae38c638083aa54634dd84;hb=b3690abb143e48f3aac37e637c984c5c939c90eb;hp=d2c3d911fa450cf1d95430f468a9cb8993609bfe;hpb=55ea576652a8c328d159b9992cd6bc82c29acc98;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMakerv1.cxx b/PHOS/AliPHOSTrackSegmentMakerv1.cxx index d2c3d911fa4..949dc0590d7 100644 --- a/PHOS/AliPHOSTrackSegmentMakerv1.cxx +++ b/PHOS/AliPHOSTrackSegmentMakerv1.cxx @@ -32,14 +32,16 @@ // In principle this class should be called from AliPHOSReconstructioner, but // one can use it as well in standalone mode. // Use case: -// root [0] AliPHOSTrackSegmentMakerv1 * t = new AliPHOSTrackSegmentMaker("galice.root") +// root [0] AliPHOSTrackSegmentMakerv1 * t = new AliPHOSTrackSegmentMaker("galice.root", "tracksegmentsname", "recpointsname") // Warning in : object already instantiated +// // reads gAlice from header file "galice.root", uses recpoints stored in the branch names "recpointsname" (default = "Default") +// // and saves recpoints in branch named "tracksegmentsname" (default = "recpointsname") // root [1] t->ExecuteTask() // root [2] t->SetMaxEmcPpsdDistance(5) // root [3] t->SetTrackSegmentsBranch("max distance 5 cm") // root [4] t->ExecuteTask("deb all time") // -//*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH) +//*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH) & Yves Schutz (SUBATECH) // // --- ROOT system --- @@ -60,7 +62,6 @@ #include "AliPHOSClusterizerv1.h" #include "AliPHOSTrackSegment.h" #include "AliPHOSCpvRecPoint.h" -#include "AliPHOSPpsdRecPoint.h" #include "AliPHOSLink.h" #include "AliPHOSGetter.h" #include "AliPHOS.h" @@ -79,18 +80,17 @@ ClassImp( AliPHOSTrackSegmentMakerv1) fEmcLast = 0 ; fCpvFirst = 0 ; fCpvLast = 0 ; - fPpsdFirst = 0 ; - fPpsdLast = 0 ; - fLinkLowArray = 0 ; fLinkUpArray = 0 ; fHeaderFileName = "" ; fRecPointsBranchTitle = "" ; fTrackSegmentsBranchTitle = "" ; + fFrom = "" ; + fTrackSegmentsInRun = 0 ; } //____________________________________________________________________________ - AliPHOSTrackSegmentMakerv1::AliPHOSTrackSegmentMakerv1(const char * headerFile, const char * name) : AliPHOSTrackSegmentMaker(headerFile, name) + AliPHOSTrackSegmentMakerv1::AliPHOSTrackSegmentMakerv1(const char * headerFile, const char * name, const char * from) : AliPHOSTrackSegmentMaker(headerFile, name) { // ctor @@ -99,29 +99,38 @@ ClassImp( AliPHOSTrackSegmentMakerv1) fEmcLast = 0 ; fCpvFirst = 0 ; fCpvLast = 0 ; - fPpsdFirst = 0 ; - fPpsdLast = 0 ; + fLinkUpArray = 0 ; fHeaderFileName = GetTitle() ; fRecPointsBranchTitle = GetName() ; fTrackSegmentsBranchTitle = GetName() ; fTrackSegmentsInRun = 0 ; - TString tempo(GetName()) ; - tempo.Append(":") ; - tempo.Append(Version()) ; - SetName(tempo.Data()) ; - + TString tsmName( GetName()) ; + tsmName.Append(":") ; + tsmName.Append(Version()) ; + SetName(tsmName) ; + if ( from == 0 ) + fFrom = name ; + else + fFrom = from ; Init() ; - + } //____________________________________________________________________________ AliPHOSTrackSegmentMakerv1::~AliPHOSTrackSegmentMakerv1() { // dtor - if(fLinkLowArray) delete fLinkLowArray ; - if(fLinkUpArray) delete fLinkUpArray ; + delete fLinkUpArray ; +} + +//____________________________________________________________________________ +const TString AliPHOSTrackSegmentMakerv1::BranchName() const +{ + TString branchName(GetName() ) ; + branchName.Remove(branchName.Index(Version())-1) ; + return branchName ; } //____________________________________________________________________________ @@ -129,47 +138,24 @@ void AliPHOSTrackSegmentMakerv1::FillOneModule() { // Finds first and last indexes between which // clusters from one PHOS module are - - TString taskName(GetName()) ; - taskName.Remove(taskName.Index(Version())-1) ; + AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; - const AliPHOSGeometry * geom = gime->PHOSGeometry() ; - TObjArray * emcRecPoints = gime->EmcRecPoints(taskName) ; - TObjArray * cpvRecPoints = gime->CpvRecPoints(taskName) ; - + TObjArray * emcRecPoints = gime->EmcRecPoints(fFrom) ; + TObjArray * cpvRecPoints = gime->CpvRecPoints(fFrom) ; + //First EMC clusters Int_t totalEmc = emcRecPoints->GetEntriesFast() ; for(fEmcFirst = fEmcLast; (fEmcLast < totalEmc) && - (((AliPHOSRecPoint *) emcRecPoints->At(fEmcLast))->GetPHOSMod() == fModule ); + ((dynamic_cast(emcRecPoints->At(fEmcLast)))->GetPHOSMod() == fModule ); fEmcLast ++) ; //Now CPV clusters Int_t totalCpv = cpvRecPoints->GetEntriesFast() ; - if(fModule <= geom->GetNCPVModules()){ // in CPV geometry - for(fCpvFirst = fCpvLast; (fCpvLast < totalCpv) && - (((AliPHOSRecPoint *) cpvRecPoints->At(fCpvLast))->GetPHOSMod() == fModule ); + ((dynamic_cast(cpvRecPoints->At(fCpvLast)))->GetPHOSMod() == fModule ); fCpvLast ++) ; - - fPpsdFirst = fCpvLast ; //To avoid scanning RecPoints between fPpsdFirst and fPpsdLast - fPpsdLast = fCpvLast ; //and to be ready to switch to mixed geometry - } - else{ //in PPSD geometry - fCpvLast = fPpsdLast ; - //Upper layer first - for(fCpvFirst = fCpvLast; (fCpvLast < totalCpv) && - (((AliPHOSPpsdRecPoint *) cpvRecPoints->At(fCpvLast))->GetPHOSMod() == fModule ) && - (((AliPHOSPpsdRecPoint *) cpvRecPoints->At(fCpvLast))->GetUp()) ; - fCpvLast ++) ; - - fPpsdLast= fCpvLast ; - for(fPpsdFirst = fPpsdLast; (fPpsdLast < totalCpv) && - (((AliPHOSPpsdRecPoint *) cpvRecPoints->At(fPpsdLast))->GetPHOSMod() == fModule ) && - (!((AliPHOSPpsdRecPoint *) cpvRecPoints->At(fPpsdLast))->GetUp()) ; - fPpsdLast ++) ; - } - + } //____________________________________________________________________________ @@ -215,24 +201,20 @@ void AliPHOSTrackSegmentMakerv1::Init() if ( strcmp(GetTitle(), "") == 0 ) SetTitle("galice.root") ; - - TString taskName(GetName()) ; - taskName.Remove(taskName.Index(Version())-1) ; - - AliPHOSGetter * gime = AliPHOSGetter::GetInstance(GetTitle(), taskName) ; + + AliPHOSGetter * gime = AliPHOSGetter::GetInstance(GetTitle(), fFrom.Data()) ; if ( gime == 0 ) { cerr << "ERROR: AliPHOSTrackSegmentMakerv1::Init -> Could not obtain the Getter object !" << endl ; return ; } - fLinkLowArray = new TClonesArray("AliPHOSLink", 1000); fLinkUpArray = new TClonesArray("AliPHOSLink", 1000); //add Task to //YSAlice/tasks/Reconstructioner/PHOS gime->PostTrackSegmentMaker(this) ; // create a folder on the white board //YSAlice/WhiteBoard/RecPoints/PHOS/trackSegmentsName - gime->PostTrackSegments(taskName) ; + gime->PostTrackSegments(BranchName()) ; } @@ -242,45 +224,27 @@ void AliPHOSTrackSegmentMakerv1::MakeLinks()const // Finds distances (links) between all EMC and PPSD clusters, // which are not further apart from each other than fR0 // and sort them in accordance with this distance - - TString taskName(GetName()) ; - taskName.Remove(taskName.Index(Version())-1) ; AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; - TObjArray * emcRecPoints = gime->EmcRecPoints(taskName) ; - TObjArray * cpvRecPoints = gime->CpvRecPoints(taskName) ; + TObjArray * emcRecPoints = gime->EmcRecPoints(fFrom) ; + TObjArray * cpvRecPoints = gime->CpvRecPoints(fFrom) ; fLinkUpArray->Clear() ; - fLinkLowArray->Clear() ; - AliPHOSRecPoint * ppsd ; AliPHOSRecPoint * cpv ; AliPHOSEmcRecPoint * emcclu ; - Int_t iLinkLow = 0 ; Int_t iLinkUp = 0 ; Int_t iEmcRP; for(iEmcRP = fEmcFirst; iEmcRP < fEmcLast; iEmcRP++ ) { - emcclu = (AliPHOSEmcRecPoint *) emcRecPoints->At(iEmcRP) ; + emcclu = dynamic_cast(emcRecPoints->At(iEmcRP)) ; - Bool_t toofar ; - Int_t iPpsd ; - for(iPpsd = fPpsdFirst; iPpsd < fPpsdLast;iPpsd++ ) { - - ppsd = (AliPHOSRecPoint *) cpvRecPoints->At(iPpsd) ; - Float_t r = GetDistanceInPHOSPlane(emcclu, ppsd, toofar) ; - - if(toofar) - break ; - if(r < fR0) - new ((*fLinkLowArray)[iLinkLow++]) AliPHOSLink(r, iEmcRP, iPpsd) ; - } - + Bool_t toofar ; Int_t iCpv = 0 ; for(iCpv = fCpvFirst; iCpv < fCpvLast;iCpv++ ) { - cpv = (AliPHOSRecPoint *) cpvRecPoints->At(iCpv) ; + cpv = dynamic_cast(cpvRecPoints->At(iCpv)) ; Float_t r = GetDistanceInPHOSPlane(emcclu, cpv, toofar) ; if(toofar) @@ -291,8 +255,7 @@ void AliPHOSTrackSegmentMakerv1::MakeLinks()const } } - fLinkLowArray->Sort() ; //first links with smallest distances - fLinkUpArray->Sort() ; + fLinkUpArray->Sort() ; //first links with smallest distances } //____________________________________________________________________________ @@ -303,14 +266,11 @@ void AliPHOSTrackSegmentMakerv1::MakePairs() // unassigned RecParticles. We assign these RecPoints to TrackSegment and // remove them from the list of "unassigned". - TString taskName(GetName()) ; - taskName.Remove(taskName.Index(Version())-1) ; - AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; - TObjArray * emcRecPoints = gime->EmcRecPoints(taskName) ; - TObjArray * cpvRecPoints = gime->CpvRecPoints(taskName) ; - TClonesArray * trackSegments = gime->TrackSegments(taskName) ; - + TObjArray * emcRecPoints = gime->EmcRecPoints(fFrom) ; + TObjArray * cpvRecPoints = gime->CpvRecPoints(fFrom) ; + TClonesArray * trackSegments = gime->TrackSegments(BranchName()) ; + //Make arrays to mark clusters already chosen Int_t * emcExist = 0; if(fEmcLast > fEmcFirst) @@ -326,60 +286,29 @@ void AliPHOSTrackSegmentMakerv1::MakePairs() for(index = 0; index fPpsdFirst) - ppsdExist = new Bool_t[fPpsdLast-fPpsdFirst] ; - for(index = 0; index (nextUp()) ) ){ - while ( (linkLow = (AliPHOSLink *)nextLow() ) ){ - - if( (emcExist[linkLow->GetEmc()-fEmcFirst]> 0) && - ppsdExist[linkLow->GetPpsd()-fPpsdFirst] ){ // RecPoints not removed yet - new ((*trackSegments)[fNTrackSegments]) AliPHOSTrackSegment((AliPHOSEmcRecPoint *) emcRecPoints->At(linkLow->GetEmc()), - nullpointer, - (AliPHOSRecPoint *)cpvRecPoints->At(linkLow->GetPpsd()) ) ; - - ((AliPHOSTrackSegment* )trackSegments->At(fNTrackSegments))->SetIndexInList(fNTrackSegments); - //replace index of emc to negative and shifted index of TS - emcExist[linkLow->GetEmc()-fEmcFirst] = -2 - fNTrackSegments ; - //mark ppsd as used - ppsdExist[linkLow->GetPpsd()-fPpsdFirst] = kFALSE ; - fNTrackSegments++ ; - } - } - - - while ( (linkUp = (AliPHOSLink *)nextUp() ) ){ if(emcExist[linkUp->GetEmc()-fEmcFirst] != -1){ //without ppsd Up yet if(cpvExist[linkUp->GetPpsd()-fCpvFirst]){ //CPV still exist - if(emcExist[linkUp->GetEmc()-fEmcFirst] > 0){ //without ppsd Low => create new TS - - new ((* trackSegments)[fNTrackSegments]) AliPHOSTrackSegment((AliPHOSEmcRecPoint *) emcRecPoints->At(linkUp->GetEmc()) , - (AliPHOSRecPoint *)cpvRecPoints->At(linkUp->GetPpsd()), - nullpointer) ; - ((AliPHOSTrackSegment *) trackSegments->At(fNTrackSegments))->SetIndexInList(fNTrackSegments); - fNTrackSegments++ ; - } - else{ // append ppsd Up to existing TS - ((AliPHOSTrackSegment *)trackSegments->At(-2-emcExist[linkUp->GetEmc()-fEmcFirst]))->SetCpvRecPoint((AliPHOSCpvRecPoint *)cpvRecPoints->At(linkUp->GetPpsd())); - } - + new ((* trackSegments)[fNTrackSegments]) + AliPHOSTrackSegment(dynamic_cast(emcRecPoints->At(linkUp->GetEmc())) , + dynamic_cast(cpvRecPoints->At(linkUp->GetPpsd()))) ; + (dynamic_cast(trackSegments->At(fNTrackSegments)))->SetIndexInList(fNTrackSegments); + fNTrackSegments++ ; + emcExist[linkUp->GetEmc()-fEmcFirst] = -1 ; //Mark emc that Cpv was found //mark CPV recpoint as already used - cpvExist[linkUp->GetPpsd()-fCpvFirst] = kFALSE ; + cpvExist[linkUp->GetPpsd()-fCpvFirst] = kFALSE ; } //if ppsdUp still exist } } @@ -389,15 +318,16 @@ void AliPHOSTrackSegmentMakerv1::MakePairs() Int_t iEmcRP ; for(iEmcRP = 0; iEmcRP < fEmcLast-fEmcFirst ; iEmcRP++ ){ if(emcExist[iEmcRP] > 0 ){ - new ((*trackSegments)[fNTrackSegments]) AliPHOSTrackSegment((AliPHOSEmcRecPoint *)emcRecPoints->At(iEmcRP+fEmcFirst), - nullpointer, - nullpointer ) ; - ((AliPHOSTrackSegment *) trackSegments->At(fNTrackSegments))->SetIndexInList(fNTrackSegments); + new ((*trackSegments)[fNTrackSegments]) + AliPHOSTrackSegment(dynamic_cast(emcRecPoints->At(iEmcRP+fEmcFirst)), + nullpointer) ; + (dynamic_cast(trackSegments->At(fNTrackSegments)))->SetIndexInList(fNTrackSegments); fNTrackSegments++; } } } - + delete [] emcExist ; + delete [] cpvExist ; } //____________________________________________________________________________ @@ -416,51 +346,48 @@ void AliPHOSTrackSegmentMakerv1::Exec(Option_t * option) return ; } - //check, if the branch with name of this" already exits? gAlice->GetEvent(0) ; - TObjArray * lob = (TObjArray*)gAlice->TreeR()->GetListOfBranches() ; + //check, if the branch with name of this" already exits? + TObjArray * lob = static_cast(gAlice->TreeR()->GetListOfBranches()) ; TIter next(lob) ; TBranch * branch = 0 ; Bool_t phostsfound = kFALSE, tracksegmentmakerfound = kFALSE ; - TString taskName(GetName()) ; - taskName.Remove(taskName.Index(Version())-1) ; + TString branchname = GetName() ; + branchname.Remove(branchname.Index(Version())-1) ; - while ( (branch = (TBranch*)next()) && (!phostsfound || !tracksegmentmakerfound) ) { - if ( (strcmp(branch->GetName(), "PHOSTS")==0) && (strcmp(branch->GetTitle(), taskName.Data())==0) ) + while ( (branch = static_cast(next())) && (!phostsfound || !tracksegmentmakerfound) ) { + if ( (strcmp(branch->GetName(), "PHOSTS")==0) && (strcmp(branch->GetTitle(), branchname.Data())==0) ) phostsfound = kTRUE ; - else if ( (strcmp(branch->GetName(), "AliPHOSTrackSegmentMaker")==0) && (strcmp(branch->GetTitle(), taskName.Data())==0) ) + else if ( (strcmp(branch->GetName(), "AliPHOSTrackSegmentMaker")==0) && (strcmp(branch->GetTitle(), GetName())==0) ) tracksegmentmakerfound = kTRUE ; } if ( phostsfound || tracksegmentmakerfound ) { cerr << "WARNING: AliPHOSTrackSegmentMakerv1::Exec -> TrackSegments and/or TrackSegmentMaker branch with name " - << taskName.Data() << " already exits" << endl ; + << branchname.Data() << " already exits" << endl ; return ; } - AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; + AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; const AliPHOSGeometry * geom = gime->PHOSGeometry() ; Int_t nevents = (Int_t) gAlice->TreeE()->GetEntries() ; Int_t ievent ; for(ievent = 0; ievent < nevents; ievent++){ - // if(!ReadRecPoints(ievent)) //reads RecPoints for event ievent - // continue; gime->Event(ievent,"R") ; - //Make some initializations fNTrackSegments = 0 ; fEmcFirst = 0 ; fEmcLast = 0 ; fCpvFirst = 0 ; fCpvLast = 0 ; - fPpsdFirst= 0 ; - fPpsdLast = 0 ; - gime->TrackSegments(taskName)->Clear() ; + gime->TrackSegments(BranchName())->Clear() ; + // if(!ReadRecPoints(ievent)) continue; //reads RecPoints for event ievent + for(fModule = 1; fModule <= geom->GetNModules() ; fModule++ ){ FillOneModule() ; @@ -475,6 +402,9 @@ void AliPHOSTrackSegmentMakerv1::Exec(Option_t * option) if(strstr(option,"deb")) PrintTrackSegments(option) ; + + //increment the total number of track segments per run + fTrackSegmentsInRun += gime->TrackSegments(BranchName())->GetEntriesFast() ; } @@ -506,93 +436,6 @@ void AliPHOSTrackSegmentMakerv1::Print(Option_t * option)const else cout << "AliPHOSTrackSegmentMakerv1 not initialized " << endl ; } -//____________________________________________________________________________ -Bool_t AliPHOSTrackSegmentMakerv1::ReadRecPoints(Int_t event) -{ - // Reads Emc and CPV recPoints - // made previously with Clusterizer. - - - //Make some initializations - - fNTrackSegments = 0 ; - fEmcFirst = 0 ; - fEmcLast = 0 ; - fCpvFirst = 0 ; - fCpvLast = 0 ; - fPpsdFirst= 0 ; - fPpsdLast = 0 ; - - // Get TreeR header from file - if(gAlice->TreeR()==0){ - cerr << "ERROR: AliPHOSTrackSegmentMakerv1::ReadRecPoints -> There is no Reconstruction Tree" << endl; - return kFALSE; - } - - - // Find RecPoints - TBranch * emcbranch = 0; - TBranch * cpvbranch = 0; - TBranch * clusterizerbranch = 0; - TObjArray * lob = (TObjArray*)gAlice->TreeR()->GetListOfBranches() ; - TIter next(lob) ; - TBranch * branch = 0 ; - Bool_t phosemcfound = kFALSE, phoscpvfound = kFALSE, clusterizerfound = kFALSE ; - - TString taskName(GetName()) ; - taskName.ReplaceAll(Version(), "") ; - - while ( (branch = (TBranch*)next()) && (!phosemcfound || !phoscpvfound || !clusterizerfound) ) { - if ( (strcmp(branch->GetName(), "PHOSEmcRP")==0) && (strcmp(branch->GetTitle(), taskName.Data())==0) ) { - phosemcfound = kTRUE ; - emcbranch = branch ; - } - - else if ( (strcmp(branch->GetName(), "PHOSCpvRP")==0) && (strcmp(branch->GetTitle(), taskName.Data())==0) ) { - phoscpvfound = kTRUE ; - cpvbranch = branch ; - - } else if ( (strcmp(branch->GetName(), "AliPHOSClusterizer")==0) && (strcmp(branch->GetTitle(), taskName.Data())==0) ) { - clusterizerfound = kTRUE ; - clusterizerbranch = branch ; - } - } - if ( !phosemcfound || !phoscpvfound || !clusterizerfound ) { - cerr << "WARNING: AliPHOSTrackSegmentMakerv1::ReadRecPoints -> emc(cpv)RecPoints and/or Clusterizer branch with name " << taskName.Data() - << " not found" << endl ; - return kFALSE ; - } - - AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; - - TObjArray * emcRecPoints = gime->EmcRecPoints() ; - emcRecPoints->Clear() ; - emcbranch->SetAddress(&emcRecPoints) ; - - TObjArray * cpvRecPoints = gime->CpvRecPoints() ; - cpvRecPoints->Clear() ; - cpvbranch->SetAddress(&cpvRecPoints) ; - - TClonesArray * trackSegments = gime->TrackSegments() ; - trackSegments->Clear() ; - - AliPHOSClusterizer * clusterizer = 0 ; - clusterizerbranch->SetAddress(&clusterizer) ; - clusterizerbranch->GetEntry(0) ; - TString clusterizerName( fTrackSegmentsBranchTitle ) ; - clusterizerName.Append(clusterizer->Version()) ; - clusterizer = gime->Clusterizer(clusterizerName) ; - - emcbranch->GetEntry(0) ; - cpvbranch->GetEntry(0) ; - - clusterizerbranch->GetEntry(0) ; - - printf("ReadRecPoint: EMC=%d, CPV=%d\n",emcRecPoints->GetEntries(),cpvRecPoints->GetEntries()); - - return kTRUE ; - -} //____________________________________________________________________________ void AliPHOSTrackSegmentMakerv1::WriteTrackSegments(Int_t event) @@ -606,10 +449,8 @@ void AliPHOSTrackSegmentMakerv1::WriteTrackSegments(Int_t event) // If yes - exits without writing. AliPHOSGetter *gime = AliPHOSGetter::GetInstance() ; - TString taskName(GetName()) ; - taskName.Remove(taskName.Index(Version())-1) ; - TClonesArray * trackSegments = gime->TrackSegments(taskName) ; + TClonesArray * trackSegments = gime->TrackSegments(BranchName()) ; trackSegments->Expand(trackSegments->GetEntriesFast()) ; //Make branch in TreeR for TrackSegments @@ -624,12 +465,12 @@ void AliPHOSTrackSegmentMakerv1::WriteTrackSegments(Int_t event) //First TS Int_t bufferSize = 32000 ; TBranch * tsBranch = gAlice->TreeR()->Branch("PHOSTS",&trackSegments,bufferSize); - tsBranch->SetTitle(fTrackSegmentsBranchTitle); + tsBranch->SetTitle(BranchName()); if (filename) { tsBranch->SetFile(filename); TIter next( tsBranch->GetListOfBranches()); TBranch * sb ; - while ((sb=(TBranch*)next())) { + while ((sb=static_cast(next()))) { sb->SetFile(filename); } cwd->cd(); @@ -640,12 +481,12 @@ void AliPHOSTrackSegmentMakerv1::WriteTrackSegments(Int_t event) AliPHOSTrackSegmentMakerv1 * ts = this ; TBranch * tsMakerBranch = gAlice->TreeR()->Branch("AliPHOSTrackSegmentMaker","AliPHOSTrackSegmentMakerv1", &ts,bufferSize,splitlevel); - tsMakerBranch->SetTitle(fTrackSegmentsBranchTitle); + tsMakerBranch->SetTitle(BranchName()); if (filename) { tsMakerBranch->SetFile(filename); TIter next( tsMakerBranch->GetListOfBranches()); TBranch * sb; - while ((sb=(TBranch*)next())) { + while ((sb=static_cast(next()))) { sb->SetFile(filename); } cwd->cd(); @@ -656,6 +497,7 @@ void AliPHOSTrackSegmentMakerv1::WriteTrackSegments(Int_t event) gAlice->TreeR()->Write(0,kOverwrite) ; + delete [] filename ; } @@ -668,22 +510,20 @@ void AliPHOSTrackSegmentMakerv1::PrintTrackSegments(Option_t * option) taskName.Remove(taskName.Index(Version())-1) ; TClonesArray * trackSegments = AliPHOSGetter::GetInstance()->TrackSegments(taskName) ; + cout << "AliPHOSTrackSegmentMakerv1: event "<GetEvNumber() << endl ; cout << " Found " << trackSegments->GetEntriesFast() << " trackSegments " << endl ; - fTrackSegmentsInRun += trackSegments->GetEntriesFast() ; - if(strstr(option,"all")) { // printing found TS - cout << "TrackSegment # " << " EMC RP# " << " CPV RP# " << " PPSD RP#" << endl ; + cout << "TrackSegment # " << " EMC RP# " << " CPV RP# " << endl ; Int_t index; for (index = 0 ; index GetEntriesFast() ; index++) { AliPHOSTrackSegment * ts = (AliPHOSTrackSegment * )trackSegments->At(index) ; cout<<" "<< setw(4) << ts->GetIndexInList() << " " <GetEmcIndex()<< " " - <GetCpvIndex()<< " " - <GetPpsdIndex()<< endl ; + <GetCpvIndex()<< " " << endl ; } cout << "-------------------------------------------------------"<< endl ;