]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MONITOR/AliMonitorITS.cxx
Minor changes
[u/mrichter/AliRoot.git] / MONITOR / AliMonitorITS.cxx
index 4c53486f406e0c9eb4d2b32dd05c9d06b426ae66..c846e99adc535c4759ffc149e5c29b6e094e6177 100644 (file)
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
+#include <TFolder.h>
+#include <TTree.h>
+#include <TVector3.h>
 
-#include "AliMonitorITS.h"
-#include "AliMonitorHisto.h"
-#include "AliITSgeom.h"
+#include "AliLog.h"
+#include "AliESDEvent.h"
+#include "AliESDtrack.h"
 #include "AliITSRawStreamSDD.h"
 #include "AliITSRawStreamSSD.h"
 #include "AliITSclusterV2.h"
-#include "AliITStrackV2.h"
+#include "AliITSgeom.h"
+#include "AliMonitorHisto.h"
+#include "AliMonitorITS.h"
+#include "AliRawReader.h"
 #include "AliRunLoader.h"
-#include <TFolder.h>
-#include <TTree.h>
-
 
 ClassImp(AliMonitorITS) 
 
 
 //_____________________________________________________________________________
-AliMonitorITS::AliMonitorITS(AliITSgeom* geom)
+AliMonitorITS::AliMonitorITS(AliITSgeom* geom):
+  AliMonitor(),
+  fGeom(geom),
+  fSDDDigitsCharge(NULL),
+  fSSDDigitsCharge(NULL),
+  fSDDClustersCharge(NULL),
+  fSSDClustersCharge(NULL),
+  fSPDNClustersVsModule(NULL),
+  fSDDNClustersVsModule(NULL),
+  fSSDNClustersVsModule(NULL),
+  fNClustersVsLayer(NULL),
+  fNTracks(NULL),
+  fNTracksITSTPC(NULL),
+  fTrackPt(NULL),
+  fTrackEta(NULL),
+  fTrackPhi(NULL),
+  fTrackDEdxVsP(NULL)
+
 {
 // create a ITS monitor object with the given geometry
 
-  fGeom = geom;
 }
 
 
-//_____________________________________________________________________________
-AliMonitorITS::AliMonitorITS(const AliMonitorITS& monitor) :
-  AliMonitor(monitor)
-{
-  Fatal("AliMonitorITS", "copy constructor not implemented");
-}
-
-//_____________________________________________________________________________
-AliMonitorITS& AliMonitorITS::operator = (const AliMonitorITS& /*monitor*/)
-{
-  Fatal("operator =", "assignment operator not implemented");
-  return *this;
-}
-
 //_____________________________________________________________________________
 void AliMonitorITS::CreateHistos(TFolder* folder)
 {
@@ -134,7 +139,7 @@ void AliMonitorITS::CreateHistos(TFolder* folder)
                           AliMonitorHisto::kNormEntries);
 
   fTrackPhi = CreateHisto1("TrackPhi", "phi distribution of tracks", 
-                          120, 0, 360, "#phi [#circ]", "#Delta N/N",
+                          120, -180, 180, "#phi [#circ]", "#Delta N/N",
                           AliMonitorHisto::kNormEntries);
 
   fTrackDEdxVsP = CreateHisto2("TrackDEdxVsP", "dE/dx of tracks", 
@@ -146,7 +151,7 @@ void AliMonitorITS::CreateHistos(TFolder* folder)
 
 //_____________________________________________________________________________
 void AliMonitorITS::FillHistos(AliRunLoader* runLoader, 
-                              AliRawReader* rawReader)
+                              AliRawReader* rawReader, AliESDEvent* esd)
 {
 // fill the ITS monitor histogrms
 
@@ -203,31 +208,23 @@ void AliMonitorITS::FillHistos(AliRunLoader* runLoader,
   itsLoader->UnloadRecPoints();
 
 
-  itsLoader->LoadTracks();
-  TTree* tracks = itsLoader->TreeT();
-  if (!tracks) return;
-  AliITStrackV2* track = new AliITStrackV2;
-  tracks->SetBranchAddress("tracks", &track);
-
-  fNTracks->Fill(tracks->GetEntries());
-  for (Int_t i = 0; i < tracks->GetEntries(); i++) {
-    tracks->GetEntry(i);
-    fTrackPt->Fill(track->Pt());
-    fTrackEta->Fill(track->Eta());
-    fTrackPhi->Fill(track->Phi() * TMath::RadToDeg());
-    fTrackDEdxVsP->Fill(track->P(), track->GetdEdx());
-  }
-
-  AliLoader* tpcLoader = runLoader->GetLoader("TPCLoader");
-  if (tpcLoader) {
-    tpcLoader->LoadTracks();
-    TTree* tracksTPC = tpcLoader->TreeT();
-    if (tracksTPC) {
-      fNTracksITSTPC->Fill(tracks->GetEntries(), tracksTPC->GetEntries());
-    }
-    tpcLoader->UnloadTracks();
+  Int_t nTracks = 0;
+  Int_t nTPCTracks = 0;
+  for (Int_t i = 0; i < esd->GetNumberOfTracks(); i++) {
+    AliESDtrack* track = esd->GetTrack(i);
+    if (!track) continue;
+    if ((track->GetStatus() | AliESDtrack::kTPCin) != 0) nTPCTracks++;
+    if ((track->GetStatus() | AliESDtrack::kITSin) == 0) continue;
+    nTracks++;
+
+    Double_t pxyz[3];
+    track->GetPxPyPz(pxyz);
+    TVector3 pTrack(pxyz);
+    fTrackPt->Fill(pTrack.Pt());
+    fTrackEta->Fill(pTrack.Eta());
+    fTrackPhi->Fill(pTrack.Phi() * TMath::RadToDeg());
+    fTrackDEdxVsP->Fill(pTrack.Mag(), track->GetITSsignal());
   }
-
-  delete track;
-  itsLoader->UnloadTracks();
+  fNTracks->Fill(nTracks);
+  fNTracksITSTPC->Fill(nTracks, nTPCTracks);
 }