histos added, HLT cuts updated (C.Cheshkov)
authortkuhr <tkuhr@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 5 Nov 2003 16:09:45 +0000 (16:09 +0000)
committertkuhr <tkuhr@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 5 Nov 2003 16:09:45 +0000 (16:09 +0000)
MONITOR/AliMonitorHLT.cxx
MONITOR/AliMonitorHLT.h
MONITOR/AliMonitorProcess.cxx
MONITOR/AliMonitorTPC.cxx
MONITOR/AliMonitorTPC.h

index 341a9fb9bc15ca8c0334a86e7f1cae2bce7f4c7b..60e7b2072a6fa928428c9603a4e18001c9502163 100644 (file)
@@ -33,6 +33,7 @@
 #include "AliL3TrackArray.h"
 #include "AliL3Track.h"
 #include "AliL3Transform.h"
+#include "AliL3Vertex.h"
 #endif
 
 //_____________________________________________________________________________
@@ -89,7 +90,7 @@ void AliMonitorHLT::CreateHistos(TFolder* folder)
 
   fTrackPt = CreateHisto1("TrackPt", "pt distribution of tracks", 
                          90, 0, 3, "p_{t} [GeV/c]", "#Delta N/N",
-                         AliMonitorHisto::kNormEntries);
+                         AliMonitorHisto::kNormNone);
 
   fTrackEta = CreateHisto1("TrackEta", "eta distribution of tracks", 
                           100, -2, 2, "#eta", "#Delta N/N",
@@ -101,13 +102,28 @@ void AliMonitorHLT::CreateHistos(TFolder* folder)
 
   fTrackNHits = CreateHisto1("TrackNHits", "Number of hits per track", 
                           200, 0, 200, "N_{hits}", "#Delta N/N",
-                          AliMonitorHisto::kNormEntries);
+                          AliMonitorHisto::kNormNone);
+
+  fTrackXYvsNHits = CreateHisto2("TrackXYvsNHits", "XY vs Number of hits per track", 
+                                50, 0, 200,50,0,10,
+                                "N_{hits}","Radius [cm]","#Delta N/N",
+                                AliMonitorHisto::kNormNone);
+
+  fTrackZvsNHits = CreateHisto2("TrackZvsNHits", "Z vs Number of hits per track", 
+                                50, 0, 200,50,-20,20,
+                                "N_{hits}","Z [cm]","#Delta N/N",
+                                AliMonitorHisto::kNormNone);
 
   fTrackDEdxVsP = CreateHisto2("TrackDEdxVsP", "dE/dx of tracks", 
                               100, 0, 3, 100, 0, 1000, 
                               "p [GeV/c]", "dE/dx", "#Delta N/N",
                               AliMonitorHisto::kNormEntries);
 
+  fTrackDEdx = CreateHisto1("TrackDEdx", "dE/dx for tracks with 0.4<p<1.0 GeV/c", 
+                              50, 0, 300, 
+                              "dE/dx", "#Delta N/N",
+                              AliMonitorHisto::kNormEntries);
+
   fTrackDz0 = CreateHisto1("TrackDz0", "Dz0 of tracks", 
                           100, -100, 100, "#Delta z0 [cm]", "#Delta N/N",
                           AliMonitorHisto::kNormEntries);
@@ -116,9 +132,15 @@ void AliMonitorHLT::CreateHistos(TFolder* folder)
                           130, 80, 250, "#Delta r0 [cm]", "#Delta N/N",
                           AliMonitorHisto::kNormEntries);
 
-  fTrackAngle = CreateHisto1("TrackAngle", "azimutal distribution of tracks", 
-                          100, -4, 4, " ", "#Delta N/N",
-                          AliMonitorHisto::kNormEntries);
+  fTrackEtaVsPhi = CreateHisto2("TrackEtaVsPhi", "#phi vs #eta", 
+                              20, -1, 1, 25, 0, 360, 
+                              "#eta", "#phi", "#Delta N/N",
+                              AliMonitorHisto::kNormNone);
+
+  fPtEtaVsPhi = CreateHisto2("PtEtaVsPhi", "#phi vs #eta", 
+                              20, -1, 1, 25, 0, 360, 
+                              "#eta", "#phi", "#Delta N/N",
+                              AliMonitorHisto::kNormNone);
 
 }
 
@@ -165,18 +187,28 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
   }
   AliL3TrackArray* tracks = new AliL3TrackArray;
   memHandler.Binary2TrackArray(tracks);
+  Double_t xc,yc,zc;
+  AliL3Vertex vertex;
 
   fNTracks->Fill(tracks->GetNTracks());
   for (Int_t iTrack = 0; iTrack < tracks->GetNTracks(); iTrack++) {
     AliL3Track* track = tracks->GetCheckedTrack(iTrack);
     if(!track) continue;
     track->CalculateHelix();
+    track->GetClosestPoint(&vertex,xc,yc,zc);
+    if(fabs(zc)>10.) continue;
     fTrackPt->Fill(track->GetPt());
     fTrackEta->Fill(track->GetPseudoRapidity());
     fTrackPhi->Fill(track->GetPsi() * TMath::RadToDeg());
+    if(track->GetPt()>3.) {
+      fTrackEtaVsPhi->Fill(track->GetPseudoRapidity(),track->GetPsi() * TMath::RadToDeg());
+      fPtEtaVsPhi->Fill(track->GetPseudoRapidity(),track->GetPsi() * TMath::RadToDeg(),track->GetPt());
+    }
     fTrackDz0->Fill(track->GetZ0());
     fTrackDr0->Fill(track->GetR0());
     fTrackNHits->Fill(track->GetNHits());
+    fTrackXYvsNHits->Fill(track->GetNHits(),TMath::Sqrt(xc*xc+yc*yc));
+    fTrackZvsNHits->Fill(track->GetNHits(),zc);
 
     // Track dEdx
     Int_t nc=track->GetNHits();
@@ -193,7 +225,6 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
       Float_t corr=1.; if (padrow>63) corr=0.67;
       sampleDEdx[iHit] = clusters[iSector][position].fCharge/pWidth*corr;
       Double_t crossingangle = track->GetCrossingAngle(padrow,iSector);
-      fTrackAngle->Fill(crossingangle);
       Double_t s = sin(crossingangle);
       Double_t t = track->GetTgl();
       sampleDEdx[iHit] *= TMath::Sqrt((1-s*s)/(1+t*t));
@@ -219,6 +250,8 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
     trackDEdx /= (nu-nl+1);
 
     fTrackDEdxVsP->Fill(track->GetP(),trackDEdx);
+    if(track->GetP()>0.4 && track->GetP()<1.0)
+      fTrackDEdx->Fill(trackDEdx);
   }
 
   delete tracks;
index 3a08cd50c9e857a918f6823066c8439734b76963..66575af07de9ffc2dd884209bd3e1f02d8a1ffc9 100644 (file)
@@ -33,9 +33,13 @@ private:
   AliMonitorHisto* fTrackPhi;           // phi distribution of HLT tracks
   AliMonitorHisto* fTrackNHits;         // number of hits per HLT track
   AliMonitorHisto* fTrackDEdxVsP;       // dedx distribution of HLT tracks
+  AliMonitorHisto* fTrackDEdx;          // dedx distribution of HLT tracks for a given momentum region
   AliMonitorHisto* fTrackDz0;           // dz0 distribution of HLT tracks
   AliMonitorHisto* fTrackDr0;           // dr0 distribution of HLT tracks
-  AliMonitorHisto* fTrackAngle;         // azimutal distribution of HLT tracks
+  AliMonitorHisto* fTrackEtaVsPhi;      // phi vs eta for HLT tracks
+  AliMonitorHisto* fPtEtaVsPhi;         // phi vs eta for HLT tracks
+  AliMonitorHisto* fTrackZvsNHits;
+  AliMonitorHisto* fTrackXYvsNHits;
 
   ClassDef(AliMonitorHLT, 0)   // creation and filling of monitor histograms for HLT
 };
index 8ea2378e06a348343a82819a3901c242c3559751..613b2128257295daa871fbe669becf64737fa30c 100644 (file)
@@ -574,19 +574,19 @@ void AliMonitorProcess::CreateHLT(const char* fileName)
   fHLT = new AliLevel3(name);
   fHLT->Init("./", AliLevel3::kRaw, 1);
 
-  fHLT->SetClusterFinderParam(0, 0, kTRUE);
+  fHLT->SetClusterFinderParam(-1, -1, kTRUE);
   
   Int_t phiSegments = 50;
   Int_t etaSegments = 100;
   Int_t trackletlength = 3;
-  Int_t tracklength = 40;//40 or 5
+  Int_t tracklength = 20;//40 or 5
   Int_t rowscopetracklet = 2;
-  Int_t rowscopetrack = 2;
+  Int_t rowscopetrack = 10;
   Double_t minPtFit = 0;
-  Double_t maxangle = 1.31;
+  Double_t maxangle = 0.1745;
   Double_t goodDist = 5;
-  Double_t maxphi = 100;
-  Double_t maxeta = 100;
+  Double_t maxphi = 0.1;
+  Double_t maxeta = 0.1;
   Double_t hitChi2Cut = 15;//100 or 15
   Double_t goodHitChi2 = 5;//20 or 5
   Double_t trackChi2Cut = 10;//50 or 10
index 7cfca844e9f7365bd292eb3a763ca1df43c98f75..876ca0654a503fe11a68da647071f7ccd8b27a90 100644 (file)
@@ -104,7 +104,7 @@ void AliMonitorTPC::CreateHistos(TFolder* folder)
 
   fTrackPt = CreateHisto1("TrackPt", "pt distribution of tracks", 
                          90, 0, 3, "p_{t} [GeV/c]", "#Delta N/N",
-                         AliMonitorHisto::kNormEntries);
+                         AliMonitorHisto::kNormNone);
 
   fTrackEta = CreateHisto1("TrackEta", "eta distribution of tracks", 
                           100, -2, 2, "#eta", "#Delta N/N",
@@ -117,12 +117,28 @@ void AliMonitorTPC::CreateHistos(TFolder* folder)
 
   fTrackNCl = CreateHisto1("TrackNCl", "Number of clusters per track", 
                           200, 0, 200, "N_{clusters}", "#Delta N/N",
-                          AliMonitorHisto::kNormEntries);
+                          AliMonitorHisto::kNormNone);
 
   fTrackDEdxVsP = CreateHisto2("TrackDEdxVsP", "dE/dx of tracks", 
                               100, 0, 3, 100, 0, 200, 
                               "p [GeV/c]", "dE/dx", "#Delta N/N",
                               AliMonitorHisto::kNormEntries);
+
+  fTrackDEdx = CreateHisto1("TrackDEdx", "dE/dx of tracks with 0.4<p<1.0 GeV/c", 
+                              50, 0, 100, 
+                              "dE/dx", "#Delta N/N",
+                              AliMonitorHisto::kNormEntries);
+
+  fTrackEtaVsPhi = CreateHisto2("TrackEtaVsPhi", "#phi vs #eta", 
+                              20, -1, 1, 25, 0, 360, 
+                              "#eta", "#phi", "#Delta N/N",
+                              AliMonitorHisto::kNormNone);
+
+  fPtEtaVsPhi = CreateHisto2("PtEtaVsPhi", "#phi vs #eta", 
+                              20, -1, 1, 25, 0, 360, 
+                              "#eta", "#phi", "#Delta N/N",
+                              AliMonitorHisto::kNormNone);
+
 }
 
 
@@ -195,8 +211,14 @@ void AliMonitorTPC::FillHistos(AliRunLoader* runLoader,
     fTrackPt->Fill(track->Pt());
     fTrackEta->Fill(track->Eta());
     fTrackPhi->Fill(track->Phi() * TMath::RadToDeg());
+    if(track->Pt()>3.) {
+      fTrackEtaVsPhi->Fill(track->Eta(),track->Phi() * TMath::RadToDeg());
+      fPtEtaVsPhi->Fill(track->Eta(),track->Phi() * TMath::RadToDeg(),track->Pt());
+    }
     fTrackNCl->Fill(track->GetNumberOfClusters());
     fTrackDEdxVsP->Fill(track->P(), track->GetdEdx());
+    if(track->P()>0.4 && track->P()<1.0)
+      fTrackDEdx->Fill(track->GetdEdx());
 
     fData->SetData(i, track->Pt(), track->Eta(), 
                   track->Phi() * TMath::RadToDeg());
index 2e4bfe9f76f686ed56ed5115a430f6d5178b314f..823df3ce1cdfcaaa3bacff1c7053178cf3ddf4ee 100644 (file)
@@ -36,6 +36,9 @@ private:
   AliMonitorHisto* fTrackPhi;           // phi distribution of TPC tracks
   AliMonitorHisto* fTrackNCl;           // number of clusters per track
   AliMonitorHisto* fTrackDEdxVsP;       // dE/dx vs momentum distribution of TPC tracks
+  AliMonitorHisto* fTrackDEdx;          // dE/dx distribution of TPC tracks for a given momentum region
+  AliMonitorHisto* fTrackEtaVsPhi;      // phi vs eta for TPC tracks
+  AliMonitorHisto* fPtEtaVsPhi;      // phi vs eta for TPC tracks
 
   AliMonitorDataTPC* fData;             // data for the monitor tree