- update of trigger thresholds
authorjklein <jklein@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 23 Aug 2011 18:58:30 +0000 (18:58 +0000)
committerjklein <jklein@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 23 Aug 2011 18:58:30 +0000 (18:58 +0000)
- cleanup writing of simulated GTU tracks

TRD/AliTRDTriggerL1.cxx
TRD/AliTRDTriggerL1.h
TRD/AliTRDgtuSim.cxx
TRD/AliTRDgtuSim.h
TRD/AliTRDgtuTMU.cxx
TRD/AliTRDgtuTMU.h

index 006394d..51d8931 100644 (file)
 #include "AliTRDTriggerL1.h"
 #include "AliTRDgtuSim.h"
 #include "AliTRDtrackGTU.h"
-
-AliTRDTriggerL1::AliTRDTriggerL1()
+#include "AliTRDcalibDB.h"
+#include "AliTRDCalDCSGTU.h"
+
+AliTRDTriggerL1::AliTRDTriggerL1() :
+  AliTriggerDetector(),
+  fPtThresholdA(3.),
+  fPtThresholdB(5.),
+  fPidThresholdA(0),
+  fPidThresholdB(185),
+  fNoThreshold(1),
+  fNoThresholdA(3),
+  fNoThresholdB(200),
+  fNoThresholdJetA(3),
+  fNoThresholdJetB(200),
+  fNoThresholdElA(1),
+  fNoThresholdElB(1)
 {
+  // ctor
+
   SetName("TRD");
 }
 
 AliTRDTriggerL1::~AliTRDTriggerL1()
 {
-
+  // dtor
 }
 
 void AliTRDTriggerL1::CreateInputs()
@@ -54,8 +70,9 @@ void AliTRDTriggerL1::CreateInputs()
   if (fInputs.GetEntriesFast() > 0)
     return;
 
-  fInputs.AddLast(new AliTriggerInput("1HSH", "TRD", 1));
+  fInputs.AddLast(new AliTriggerInput("1HCO", "TRD", 1));
   fInputs.AddLast(new AliTriggerInput("1HJT", "TRD", 1));
+  fInputs.AddLast(new AliTriggerInput("1HSE", "TRD", 1));
 }
 
 void AliTRDTriggerL1::Trigger()
@@ -81,61 +98,69 @@ void AliTRDTriggerL1::Trigger()
   TBranch *branch = trackTree->GetBranch("TRDtrackGTU");
   AliDebug(1,Form("TRD trigger: found %lld tracks", trackTree->GetEntriesFast()));
 
-  // trigger thresholds should go elsewhere
-  Float_t ptThreshold1 = 2;
-  Float_t ptThreshold2 = 9.9;
-  Int_t trackThreshold1 = 6;
-  Int_t trackThreshold2 = 2;
-
   // trigger algorithms to come, e.g.
-  Bool_t triggeredHighPt = kFALSE;
-  Bool_t triggeredJet = kFALSE;
+  Bool_t triggered1HCO    = kFALSE;
+  Bool_t triggered1HJT    = kFALSE;
+  Bool_t triggered1HSE    = kFALSE;
 
   if (branch) {
     AliTRDtrackGTU *trk = 0x0;
     branch->SetAddress(&trk);
 
-    // high pt trigger
+    Int_t nTracks[90]      = { 0 }; // number of tracks
+    Int_t nTracksA[90]     = { 0 }; // number of tracks above pt threshold A
+    Int_t nTracksB[90]     = { 0 }; // number of tracks above pt threshold B
+    Int_t nTracksElA[90]   = { 0 }; // number of tracks above pt threshold A and PID threshold A
+    Int_t nTracksElB[90]   = { 0 }; // number of tracks above pt threshold B and PID threshold B
+
     for (Int_t iTrack = 0; iTrack < trackTree->GetEntriesFast(); iTrack++) {
       trackTree->GetEntry(iTrack);
-      if (TMath::Abs(trk->GetPt()) > 3.0) {
-        AliDebug(1, Form("Found track in sector %2i, stack %i with pt = %3.1f, triggered",
-                         trk->GetSector(), trk->GetStack(), trk->GetPt()));
-        triggeredHighPt = kTRUE;
+
+      nTracks[5*trk->GetSector() + trk->GetStack()]++;
+
+      if (TMath::Abs(trk->GetPt()) > fPtThresholdA) {
+        nTracksA[5*trk->GetSector() + trk->GetStack()]++;
+       if (trk->GetPID() > fPidThresholdA)
+         nTracksElA[5*trk->GetSector() + trk->GetStack()]++;
       }
-    }
 
-    // jet trigger
-    Int_t nTracks1[90]; // tracks above lower pt threshold
-    Int_t nTracks2[90]; // tracks above higher pt threshold
-    memset(nTracks1,0,sizeof(Int_t)*90);
-    memset(nTracks2,0,sizeof(Int_t)*90);
-    for (Int_t iTrack = 0; iTrack < trackTree->GetEntriesFast(); iTrack++) {
-      trackTree->GetEntry(iTrack);
-      if (TMath::Abs(trk->GetPt()) > ptThreshold1)
-        nTracks1[5*trk->GetSector() + trk->GetStack()]++;
-      if (TMath::Abs(trk->GetPt()) > ptThreshold2)
-        nTracks2[5*trk->GetSector() + trk->GetStack()]++;
+      if (TMath::Abs(trk->GetPt()) > fPtThresholdB) {
+        nTracksB[5*trk->GetSector() + trk->GetStack()]++;
+       if (trk->GetPID() > fPidThresholdB)
+         nTracksElB[5*trk->GetSector() + trk->GetStack()]++;
+      }
     }
+
     for (Int_t iStack = 0; iStack < 90; iStack++) {
-      if ((nTracks1[iStack] >= trackThreshold1) || (nTracks2[iStack] >= trackThreshold2))
-        triggeredJet = kTRUE;
+      if ((nTracksA[iStack] >= fNoThresholdJetA) || (nTracksB[iStack] >= fNoThresholdJetB))
+        triggered1HJT = kTRUE;
+
+      if ((nTracksElA[iStack] >= fNoThresholdElA))
+        triggered1HCO = kTRUE;
+
+      if ((nTracksElB[iStack] >= fNoThresholdElB))
+        triggered1HSE = kTRUE;
     }
   }
   else {
     AliWarning("GTU Branch not found");
   }
 
-  if (triggeredHighPt) {
-    AliInfo("Fired high-pt trigger");
-    SetInput("1HSH");
+  if (triggered1HCO) {
+    AliDebug(1, "Fired cosmic trigger");
+    SetInput("1HCO");
   }
 
-  if (triggeredJet) {
-    AliInfo("Fired jet trigger");
+  if (triggered1HJT) {
+    AliDebug(1, "Fired jet trigger");
     SetInput("1HJT");
   }
 
+  if (triggered1HSE) {
+    AliDebug(1, "Fired single electron trigger");
+    SetInput("1HSE");
+  }
+
   // cleaning up
   delete gtusim;
 }
index 1e832c5..9d35e04 100644 (file)
@@ -25,8 +25,19 @@ class AliTRDTriggerL1 : public AliTriggerDetector {
   virtual void Trigger();
 
  private:
-
-  ClassDef(AliTRDTriggerL1, 1);
+  Float_t fPtThresholdA;       // pt threshold A
+  Float_t fPtThresholdB;       // pt threshold B
+  Int_t   fPidThresholdA;      // PID threshold A
+  Int_t   fPidThresholdB;      // PID threshold B
+  Int_t   fNoThreshold;                // number threshold for all tracks
+  Int_t   fNoThresholdA;        // number threshold for tracks above pt A
+  Int_t   fNoThresholdB;        // number threshold for tracks above pt B
+  Int_t   fNoThresholdJetA;     // number threshold for tracks above pt A (jets)
+  Int_t   fNoThresholdJetB;     // number threshold for tracks above pt B (jets)
+  Int_t   fNoThresholdElA;      // number threshold for tracks above pt A and PID A (electron)
+  Int_t   fNoThresholdElB;      // number threshold for tracks above pt B and PID B (electron)
+
+  ClassDef(AliTRDTriggerL1, 2);
 
 };
 
index 8e7dd87..2256061 100644 (file)
@@ -55,12 +55,9 @@ AliTRDgtuSim::AliTRDgtuSim(AliRunLoader *rl)
   fRunLoader(rl),
   fFeeParam(AliTRDfeeParam::Instance()),
   fTMU(0x0),
-  fTrackletArray(0x0),
-  fTrackTree(0x0),
-  fTrackletTree(0x0)
+  fTrackletArray(0x0)
 {
-//   fTrackletTree = new TTree("gtutracklets", "Tree with GTU tracklets");
-//   fTrackletTree->SetDirectory(0);
+
 }
 
 AliTRDgtuSim::~AliTRDgtuSim()
@@ -70,7 +67,6 @@ AliTRDgtuSim::~AliTRDgtuSim()
   if (fTrackletArray)
     fTrackletArray->Clear();
   delete fTrackletArray;
-  delete fTrackletTree;
 }
 
 Bool_t AliTRDgtuSim::RunGTUFromTrackletFile(TString filename, Int_t event, Int_t noev)
@@ -126,9 +122,6 @@ Bool_t AliTRDgtuSim::RunGTUFromTrackletFile(TString filename, Int_t event, Int_t
        fTMU->SetSector(iSecPrev);
        fTMU->RunTMU(listOfTracks);
        AliDebug(1,Form("--- There are %i tracks. Writing ...", listOfTracks->GetEntries()));
-       WriteTracksToTree(listOfTracks);
-       // fTMU->WriteTrackletsToTree(fTrackletTree);
-       // WriteTracksToLoader(listOfTracks);
        WriteTracksToDataFile(listOfTracks, iEventPrev);
        if (listOfTracks->GetEntries() > 0)
          AliDebug(2,Form("   %4.1f GeV/c", ((AliTRDtrackGTU*) listOfTracks->At(0))->GetPt() ));
@@ -165,9 +158,6 @@ Bool_t AliTRDgtuSim::RunGTUFromTrackletFile(TString filename, Int_t event, Int_t
     fTMU->SetStack(iStackPrev);
     fTMU->SetSector(iSecPrev);
     fTMU->RunTMU(listOfTracks);
-    WriteTracksToTree(listOfTracks);
-    // fTMU->WriteTrackletsToTree(fTrackletTree);
-    // WriteTracksToLoader(listOfTracks);
     WriteTracksToDataFile(listOfTracks, iEventPrev);
     delete fTMU;
     delete listOfTracks;
@@ -226,8 +216,6 @@ Bool_t AliTRDgtuSim::RunGTU(AliLoader *loader, AliESDEvent *esd)
                fTMU->SetStack(iStackPrev);
                fTMU->SetSector(iSecPrev);
                fTMU->RunTMU(listOfTracks);
-               WriteTracksToTree(listOfTracks);
-//             fTMU->WriteTrackletsToTree(fTrackletTree);
                WriteTracksToLoader(listOfTracks);
                WriteTracksToESD(listOfTracks, esd);
                fTMU->Reset();
@@ -250,8 +238,6 @@ Bool_t AliTRDgtuSim::RunGTU(AliLoader *loader, AliESDEvent *esd)
        fTMU->SetStack(iStackPrev);
        fTMU->SetSector(iSecPrev);
        fTMU->RunTMU(listOfTracks);
-       WriteTracksToTree(listOfTracks);
-//     fTMU->WriteTrackletsToTree(fTrackletTree);
        WriteTracksToLoader(listOfTracks);
        WriteTracksToESD(listOfTracks, esd);
        delete fTMU;
@@ -403,53 +389,6 @@ Bool_t AliTRDgtuSim::WriteTracksToDataFile(TList *listOfTracks, Int_t event)
     return kTRUE;
 }
 
-Bool_t AliTRDgtuSim::WriteTracksToTree(TList *listOfTracks, Int_t /*event*/)
-{
-  // write the tracks to the tree for intermediate storage
-
-  AliDebug(1,Form("Writing %i tracks to the tree...", listOfTracks->GetEntries()));
-
-  if (!listOfTracks)
-    return kFALSE;
-
-  if (listOfTracks->GetEntries() <= 0)
-    return kTRUE;
-
-  if (!fTrackTree) {
-    fTrackTree = new TTree("gtutracks", "GTU tracks");
-    fTrackTree->SetDirectory(0);
-  }
-
-  AliTRDtrackGTU *trk = 0x0;
-  TBranch *branch = fTrackTree->GetBranch("TRDgtuTrack");
-  if (!branch) {
-      branch = fTrackTree->Branch("TRDgtuTrack", "AliTRDtrackGTU", &trk, 32000, 99);
-  }
-
-  TIter next(listOfTracks);
-  while ((trk = (AliTRDtrackGTU*) next())) {
-      trk->CookLabel();
-      branch->SetAddress(&trk);
-      fTrackTree->Fill();
-  }
-  fTrackTree->ResetBranchAddress(branch);
-
-  return kTRUE;
-}
-
-Bool_t AliTRDgtuSim::WriteTreesToFile() const {
-  // write the trees holding tracklets and tracks to file
-
-  TFile *f = TFile::Open("TRD.GtuTracking.root", "RECREATE");
-  f->cd();
-  if (fTrackTree)
-    f->WriteTObject(fTrackTree);
-  if (fTrackletTree)
-    f->WriteTObject(fTrackletTree);
-  f->Close();
-  return kTRUE;
-}
-
 Bool_t AliTRDgtuSim::WriteTracksToESD(const TList * const listOfTracks, AliESDEvent *esd)
 {
   // fill the found tracks to the given ESD event
@@ -472,11 +411,6 @@ Bool_t AliTRDgtuSim::WriteTracksToLoader(const TList * const listOfTracks)
   // write the GTU tracks to the dedicated loader
   // these tracks contain more information than the ones in the ESD
 
-  if (!fTrackTree) {
-    AliDebug(1, "No track tree found!");
-    return kFALSE;
-  }
-
   AliRunLoader *rl = AliRunLoader::Instance();
   AliDataLoader *dl = 0x0;
   if (rl)
@@ -497,6 +431,7 @@ Bool_t AliTRDgtuSim::WriteTracksToLoader(const TList * const listOfTracks)
   if (!trackTree->GetBranch("TRDtrackGTU"))
     trackTree->Branch("TRDtrackGTU", "AliTRDtrackGTU", &trk, 32000);
 
+  AliDebug(1, Form("Writing %i tracks to loader", listOfTracks->GetEntries()));
   TIter next(listOfTracks);
   while ((trk = (AliTRDtrackGTU*) next())) {
     trackTree->SetBranchAddress("TRDtrackGTU", &trk);
index ba15f4c..216de64 100644 (file)
@@ -33,10 +33,7 @@ class AliTRDgtuSim : public TObject {
   Bool_t RunGTU(AliLoader *loader, AliESDEvent *esd = 0x0);
   Bool_t RunGTUFromTrackletFile(TString filename, Int_t event, Int_t noev = 1);
 
-  TTree* GetTreeOfTracks() { return fTrackTree; }
-  Bool_t WriteTracksToTree(TList *listOfTracks, Int_t event = 0);
   Bool_t WriteTracksToDataFile(TList *listOfTracks, Int_t event);
-  Bool_t WriteTreesToFile() const;
   Bool_t WriteTracksToESD(const TList *const listOfTracks, AliESDEvent *esd);
   Bool_t WriteTracksToLoader(const TList *const listOfTracks);
 
@@ -45,8 +42,6 @@ class AliTRDgtuSim : public TObject {
   AliTRDfeeParam *fFeeParam;    //!
   AliTRDgtuTMU         *fTMU;          // pointer to TMU simulation class
   TClonesArray         *fTrackletArray;        // array of tracklets
-  TTree        *fTrackTree;    // tree to hold the tracks of one event, used for writing in WriteTracksToFile()
-  TTree         *fTrackletTree; // tree to hold the gtu tracklets
 
   void AppendBits(ULong64_t &word, Int_t nBits, Int_t val) const { word = (word << nBits) | (val & ~(~0 << nBits)); }
 
@@ -54,7 +49,7 @@ class AliTRDgtuSim : public TObject {
   AliTRDgtuSim& operator=(const AliTRDgtuSim &rhs); // not implemented
   AliTRDgtuSim(const AliTRDgtuSim &rhs); // not implemented
 
-  ClassDef(AliTRDgtuSim, 1);
+  ClassDef(AliTRDgtuSim, 0);
 };
 
 #endif
index f8bfd49..1740211 100644 (file)
@@ -1013,29 +1013,6 @@ Bool_t AliTRDgtuTMU::CalculateTrackParams(AliTRDtrackGTU *track)
   return kTRUE;
 }
 
-Bool_t AliTRDgtuTMU::WriteTrackletsToTree(TTree *trklTree)
-{
-  if (!trklTree) {
-    AliError("No tree given");
-    return kFALSE;
-  }
-  AliTRDtrackletGTU *trkl = 0x0;
-  TBranch *branch = trklTree->GetBranch("gtutracklets");
-  if (!branch) {
-      branch = trklTree->Branch("gtutracklets", "AliTRDtrackletGTU", &trkl, 32000, 99);
-  }
-
-  AliDebug(5,Form("---------- Writing tracklets to tree (not yet) ----------"));
-  for (Int_t layer = 0; layer < fGtuParam->GetNLayers(); layer++) {
-    TIter next(fTrackletsPostInput[layer]);
-    while ((trkl = (AliTRDtrackletGTU*) next())) {
-       AliDebug(10,Form("InputUnit : GetIndex(): %3i, GetZbin(): %2i, GetY() : %5i, GetdY() : %3i, GetYPrime() : %5i, GetYProj() : %5i, GetAlpha() : %3i, Zidx(2..0): %i  %i  %i", trkl->GetIndex(), trkl->GetZbin(), trkl->GetYbin(), trkl->GetdY(), trkl->GetYPrime(), trkl->GetYProj(), trkl->GetAlpha(), trkl->GetSubChannel(2), trkl->GetSubChannel(1), trkl->GetSubChannel(0) ));
-       branch->SetAddress(&trkl);
-       trklTree->Fill();
-    }
-  }
-  return kTRUE;
-}
 
 Bool_t AliTRDgtuTMU::Uniquifier(TList *inlist, TList *outlist)
 {
index 0fb6b43..91deb77 100644 (file)
@@ -31,7 +31,6 @@ class AliTRDgtuTMU : public TObject {
   Bool_t SetStack(Int_t stack);
 
   Bool_t AddTracklet(AliTRDtrackletGTU *tracklet, Int_t link);
-  Bool_t WriteTrackletsToTree(TTree *trklTree);
 
   Bool_t RunTMU(TList *ListOfTracks = 0x0, AliESDEvent *esd = 0x0);
   Bool_t Reset();