From 4302c900b30932b679c3e3be40d017d1da149fa1 Mon Sep 17 00:00:00 2001 From: abercuci Date: Thu, 21 Aug 2008 15:56:21 +0000 Subject: [PATCH] new flag for HLT tracking --- TRD/AliTRDReconstructor.cxx | 5 +++++ TRD/AliTRDReconstructor.h | 2 ++ TRD/AliTRDtrackerV1.cxx | 16 +++++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/TRD/AliTRDReconstructor.cxx b/TRD/AliTRDReconstructor.cxx index 9468547462e..4076b24e28c 100644 --- a/TRD/AliTRDReconstructor.cxx +++ b/TRD/AliTRDReconstructor.cxx @@ -84,6 +84,7 @@ void AliTRDReconstructor::Init(){ printf("\tWrite Online Tracklets [tw] : %s\n", fSteerParam&kWriteTracklets?"yes":"no"); printf("\tDrift Gas Argon [ar] : %s\n", fSteerParam&kDriftGas?"yes":"no"); printf("\tStand Alone Tracking [sa] : %s\n", fSteerParam&kSeeding?"yes":"no"); + printf("\tHLT Tracking [hlt] : %s\n", fSteerParam&kHLT?"yes":"no"); printf("\tNN PID [nn] : %s\n", fSteerParam&kSteerPID?"yes":"no"); printf("\tStreaming Levels : Clusterizer[%d] Tracker[%d] PID[%d]\n", fStreamLevel[kClusterizer], fStreamLevel[kTracker], fStreamLevel[kPID]); } @@ -197,6 +198,7 @@ void AliTRDReconstructor::SetOption(Option_t *opt) // PID method in reconstruction (NN) [nn] = true // write online tracklets [tw] = false // drift gas [ar] = false +// HLT tracking [hlt] = false // fSteerParam = 0x00000007; @@ -219,6 +221,9 @@ void AliTRDReconstructor::SetOption(Option_t *opt) } else if(sopt.Contains("ar")){ if(!sopt.Contains("!")) fSteerParam |= kDriftGas; continue; + } else if(sopt.Contains("hlt")){ + if(!sopt.Contains("!")) fSteerParam |= kHLT; + continue; } else if(sopt.Contains("sl")){ TObjArray *stl = sopt.Tokenize("_"); if(stl->GetEntriesFast() < 3) continue; diff --git a/TRD/AliTRDReconstructor.h b/TRD/AliTRDReconstructor.h index d390eb0dad3..86538ee31f9 100644 --- a/TRD/AliTRDReconstructor.h +++ b/TRD/AliTRDReconstructor.h @@ -26,6 +26,7 @@ public: ,kSteerPID = BIT(2) ,kWriteTracklets = BIT(3) ,kDriftGas = BIT(4) + ,kHLT = BIT(5) }; enum AliTRDReconstructorTask { kClusterizer = 0 @@ -63,6 +64,7 @@ public: virtual Bool_t HasDigitConversion() const { return kFALSE; }; Bool_t IsWritingClusters() const { return fSteerParam&kWriteClusters;} Bool_t IsWritingTracklets() const { return fSteerParam&kWriteTracklets;} + Bool_t IsHLT() const { return fSteerParam&kHLT;} Bool_t IsSeeding() const { return fSteerParam&kSeeding;} virtual void Reconstruct(AliRawReader *rawReader, TTree *clusterTree) const; diff --git a/TRD/AliTRDtrackerV1.cxx b/TRD/AliTRDtrackerV1.cxx index 418afdb907c..d130faeac58 100644 --- a/TRD/AliTRDtrackerV1.cxx +++ b/TRD/AliTRDtrackerV1.cxx @@ -2094,6 +2094,8 @@ Int_t AliTRDtrackerV1::Clusters2TracksStack(AliTRDtrackingChamber **stack, TClon // increment counters ntracks2 += ntracks1; + + if(fReconstructor->IsHLT()) break; fSieveSeeding++; // Rebuild plane configurations and indices taking only unused clusters into account @@ -2375,13 +2377,25 @@ Int_t AliTRDtrackerV1::MakeSeeds(AliTRDtrackingChamber **stack, AliTRDseedV1 *ss // try attaching clusters to tracklets Int_t nUsedCl = 0; Int_t mlayers = 0; - for(int iLayer=0; iLayerIsHLT() ? kNPlanes : kNSeedPlanes; + for(int iLayer=0; iLayer 25) break; mlayers++; } + if(fReconstructor->IsHLT()){ + fTrackQuality[ntracks] = 1.; // dummy value + ntracks++; + if(ntracks == kMaxTracksStack){ + AliWarning(Form("Number of seeds reached maximum allowed (%d) in stack.", kMaxTracksStack)); + return ntracks; + } + cseed += 6; + continue; + } + if(mlayers < kNSeedPlanes){ //AliInfo(Form("Failed updating all seeds %d [%d].", mlayers, kNSeedPlanes)); AliTRDtrackerDebug::SetCandidateNumber(AliTRDtrackerDebug::GetCandidateNumber() + 1); -- 2.43.0