Add Jiris changes
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Apr 2002 12:13:41 +0000 (12:13 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Apr 2002 12:13:41 +0000 (12:13 +0000)
TRD/AliTRDdigitizer.cxx
TRD/AliTRDdigitizer.h
TRD/AliTRDdigitsManager.cxx
TRD/AliTRDdigitsManager.h
TRD/AliTRDparameter.cxx
TRD/AliTRDparameter.h
TRD/AliTRDtest.C

index 890d53c..bf21d36 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.35  2002/03/28 14:59:07  cblume
+Coding conventions
+
 Revision 1.34  2002/03/25 20:00:44  cblume
 Introduce parameter class and regions of interest for merging
 
@@ -1520,3 +1523,14 @@ void AliTRDdigitizer::DeConvExp(Double_t *source, Double_t *target
   
 }
 
+//_____________________________________________________________________________
+void AliTRDdigitizer::InitOutput(TFile *file, Int_t iEvent)
+{
+  //
+  // Initializes the output branches
+  //
+
+  fEvent = iEvent;
+  fDigitsManager->MakeTreeAndBranches(file,iEvent);
+
+}
index d6c589c..3433e90 100644 (file)
@@ -46,6 +46,8 @@ class AliTRDdigitizer : public AliDigitizer {
   virtual Bool_t       SDigits2Digits();
   virtual Bool_t       WriteDigits() const;
 
+          void         InitOutput(TFile *file, Int_t iEvent);
   virtual void         SetCompress(Int_t c = 1)             { fCompress        = c;   };
   virtual void         SetDebug(Int_t v = 1)                { fDebug           = v;   };
   virtual void         SetSDigits(Int_t v = 1)              { fSDigits         = v;   };
index 84f2390..7249858 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.17  2002/03/28 14:59:07  cblume
+Coding conventions
+
 Revision 1.16  2002/02/12 11:42:08  cblume
 Remove fTree from destructor
 
@@ -246,6 +249,21 @@ Bool_t AliTRDdigitsManager::Open(const Char_t *file)
 
 }
 
+//_____________________________________________________________________________
+void AliTRDdigitsManager::MakeTreeAndBranches(TFile *file, Int_t iEvent)
+{
+  //
+  // Creates tree for (s)digits in the specified file
+  //
+
+  fEvent = iEvent;
+  TDirectory *wd = gDirectory;
+  file->cd();
+  MakeBranch();
+  wd->cd();
+
+}
+
 //_____________________________________________________________________________
 Bool_t AliTRDdigitsManager::MakeBranch(const Char_t *file)
 {
@@ -430,7 +448,8 @@ Bool_t AliTRDdigitsManager::WriteDigits()
   }
 
   // Write the new tree to the output file
-  fTree->Write();
+  //fTree->Write();
+  fTree->AutoSave();  // Modification by Jiri
 
   return kTRUE;
 
index 4443717..dbe6c94 100644 (file)
@@ -35,6 +35,7 @@ class AliTRDdigitsManager : public TObject {
   virtual Bool_t              Open(const Char_t *file);
   virtual Bool_t              MakeBranch(const Char_t *file = 0);
   virtual Bool_t              MakeBranch(TTree *tree, const Char_t *file = 0);
+          void                MakeTreeAndBranches(TFile *treeFile, Int_t iEvent);
   virtual Bool_t              ReadDigits(TTree *tree = 0);
   virtual Bool_t              WriteDigits();
 
index 70a8716..e21e415 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.3  2002/03/28 14:59:07  cblume
+Coding conventions
+
 Revision 1.2  2002/03/28 10:00:36  hristov
 Some additional initialisation
 
@@ -1048,14 +1051,21 @@ void AliTRDparameter::SamplePRF()
       diff  = 0;
       do {
         diff = bin - pad[ipos2++];
-      } while (diff > 0);
-      ipos2--;
-      if (ipos2 >= kPRFbin) ipos2 = kPRFbin - 1;
-      ipos1 = ipos2 - 1;
-
-      fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2] 
-                                 + diff * (prf[iPla][ipos2] - prf[iPla][ipos1]) 
-                                        / sPRFwid;
+      } while ((diff > 0) && (ipos2 < kPRFbin));
+      if      (ipos2 == kPRFbin) {
+        fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2-1];
+      }
+      else if (ipos2 == 1) {
+        fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2-1];
+      }
+      else {
+        ipos2--;
+        if (ipos2 >= kPRFbin) ipos2 = kPRFbin - 1;
+        ipos1 = ipos2 - 1;
+        fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2] 
+                                   + diff * (prf[iPla][ipos2] - prf[iPla][ipos1]) 
+                                          / sPRFwid;
+      }
 
     }
   } 
index 7d4ccd4..41c65ed 100644 (file)
@@ -200,7 +200,7 @@ class AliTRDparameter : public TNamed {
   virtual void         SampleTRF();
   virtual void         FillLUT();
 
-  ClassDef(AliTRDparameter,1)                               //  TRD parameter class
+  ClassDef(AliTRDparameter,2)                               //  TRD parameter class
 
 };
 
index cff2b54..42fb096 100644 (file)
@@ -1,3 +1,4 @@
+
 Int_t AliTRDtest() 
 {
   //
@@ -6,6 +7,8 @@ Int_t AliTRDtest()
 
   Int_t rc = 0;
 
+  TFile *file;
+
   // Initialize the test setup 
   gAlice->Init("$(ALICE_ROOT)/TRD/AliTRDconfig.C");
 
@@ -14,7 +17,7 @@ Int_t AliTRDtest()
   gAlice->Run(1);
 
   if (gAlice) delete gAlice;
-  TFile *file = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
+  file   = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
   gAlice = (AliRun *) file->Get("gAlice");
 
   // Analyze the TRD hits
@@ -24,7 +27,7 @@ Int_t AliTRDtest()
   if (rc = AliTRDcreateDigits()) return rc;
 
   if (gAlice) delete gAlice;
-  TFile *file = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
+  file   = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
   gAlice = (AliRun *) file->Get("gAlice");
 
   // Analyze the digits
@@ -34,12 +37,18 @@ Int_t AliTRDtest()
   if (rc = AliTRDcreateCluster()) return rc;
 
   if (gAlice) delete gAlice;
-  TFile *file = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
+  file   = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
   gAlice = (AliRun *) file->Get("gAlice");
 
-  // Analyze the digits
+  // Analyze the cluster
   if (rc = AliTRDanalyzeCluster()) return rc;
 
+  //file   = (TFile *) gROOT->GetListOfFiles()->FindObject("TRD_test.root");
+  //file->Close();
+
+  // Find the tracks
+  //if (rc = AliTRDcreateTracks()) return rc;
+
   return rc;
 
 }
@@ -352,6 +361,7 @@ Int_t AliTRDanalyzeDigits()
 
   // Create the digits manager
   AliTRDdigitsManager *digitsManager = new AliTRDdigitsManager();
+  digitsManager->SetDebug(1);
 
   digitsManager->Open("TRD_test.root");
 
@@ -721,3 +731,30 @@ Int_t AliTRDanalyzeCluster()
   return rc;
 
 }
+
+//_____________________________________________________________________________
+Int_t AliTRDcreateTracks()
+{
+  //
+  // Creates the tracks
+  //
+
+  Int_t rc = 0;
+
+  // Create the tracker
+  AliTRDtracker *tracker = new AliTRDtracker("TRDtracker","TRD tracker");
+
+  // Read in the kine tree and the cluster
+  tracker->GetEvent("TRD_test.root","TRD_test.root");
+  // Find the tracks
+  TH1F *hs = new TH1F("hs","hs",100,0.0,1.0);
+  TH1F *hd = new TH1F("hd","hd",100,0.0,1.0);
+  tracker->Clusters2Tracks(hs,hd);
+  // Store the tracks
+  tracker->WriteTracks("TRD_test.root");
+
+  return rc;                                                                    
+
+}