#include "AliMonitorHLT.h"
#include "AliMonitorTrend.h"
#include "AliTPCParam.h"
+#include "AliLog.h"
#include <TFolder.h>
-#ifdef ALI_HLT
#include <stdlib.h>
-#include "AliL3MemHandler.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Track.h"
-#include "AliL3Transform.h"
-#include "AliL3Vertex.h"
-#endif
+#include "AliHLTMemHandler.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVertex.h"
//_____________________________________________________________________________
-AliMonitorHLT::AliMonitorHLT(AliTPCParam* param)
+AliMonitorHLT::AliMonitorHLT(AliTPCParam* param):
+ AliMonitor(),
+ fParam(param),
+ fClustersCharge(NULL),
+ fNClustersVsRow(NULL),
+ fNClustersVsSector(NULL),
+ fNTracks(NULL),
+ fTrackPt(NULL),
+ fTrackEta(NULL),
+ fTrackPhi(NULL),
+ fTrackNHits(NULL),
+ fTrackDEdxVsP(NULL),
+ fTrackDEdx(NULL),
+ fTrackDz0(NULL),
+ fTrackDr0(NULL),
+ fTrackEtaVsPhi(NULL),
+ fPtEtaVsPhi(NULL),
+ fTrackZvsNHits(NULL),
+ fTrackXYvsNHits(NULL)
{
// create a HLT monitor object with the given parameters
- fParam = param;
}
-//_____________________________________________________________________________
-AliMonitorHLT::AliMonitorHLT(const AliMonitorHLT& monitor) :
- AliMonitor(monitor)
-{
- Fatal("AliMonitorHLT", "copy constructor not implemented");
-}
-
-//_____________________________________________________________________________
-AliMonitorHLT& AliMonitorHLT::operator = (const AliMonitorHLT& /*monitor*/)
-{
- Fatal("operator =", "assignment operator not implemented");
- return *this;
-}
-
-
//_____________________________________________________________________________
void AliMonitorHLT::CreateHistos(TFolder* folder)
{
//_____________________________________________________________________________
void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
- AliRawReader* /*rawReader*/)
+ AliRawReader* /*rawReader*/, AliESD* /*esd*/)
{
// fill the HLT monitor histogrms
-#ifndef ALI_HLT
- Warning("FillHistos", "the code was compiled without HLT support");
-
-#else
- AliL3MemHandler clusterHandler[36];
- AliL3SpacePointData *clusters[36];
+ AliHLTMemHandler clusterHandler[36];
+ AliHLTSpacePointData *clusters[36];
for (Int_t iSector = 0; iSector < fParam->GetNInnerSector(); iSector++) {
char fileName[256];
sprintf(fileName, "hlt/points_%d_-1.raw", iSector);
if (!clusterHandler[iSector].SetBinaryInput(fileName)) {
- Warning("FillHistos", "could not open file %s", fileName);
+ AliWarning(Form("could not open file %s", fileName));
continue;
}
- clusters[iSector] = (AliL3SpacePointData*) clusterHandler[iSector].Allocate();
+ clusters[iSector] = (AliHLTSpacePointData*) clusterHandler[iSector].Allocate();
UInt_t nClusters = 0;
clusterHandler[iSector].Binary2Memory(nClusters, clusters[iSector]);
for (UInt_t iCluster = 0; iCluster < nClusters; iCluster++) {
- AliL3SpacePointData& cluster = clusters[iSector][iCluster];
+ AliHLTSpacePointData& cluster = clusters[iSector][iCluster];
fClustersCharge->Fill(cluster.fCharge);
fNClustersVsRow->Fill(cluster.fPadRow);
fNClustersVsSector->Fill(iSector);
fNClustersVsSector->ScaleErrorBy(10.);
- AliL3MemHandler memHandler;
+ AliHLTMemHandler memHandler;
if (!memHandler.SetBinaryInput("hlt/tracks.raw")) {
- Warning("FillHistos", "could not open file hlt/tracks.raw");
+ AliWarning("could not open file hlt/tracks.raw");
return;
}
- AliL3TrackArray* tracks = new AliL3TrackArray;
+ AliHLTTrackArray* tracks = new AliHLTTrackArray;
memHandler.Binary2TrackArray(tracks);
Double_t xc,yc,zc;
- AliL3Vertex vertex;
+ AliHLTVertex vertex;
fNTracks->Fill(tracks->GetNTracks());
for (Int_t iTrack = 0; iTrack < tracks->GetNTracks(); iTrack++) {
- AliL3Track* track = tracks->GetCheckedTrack(iTrack);
+ AliHLTTrack* track = tracks->GetCheckedTrack(iTrack);
if(!track) continue;
track->CalculateHelix();
track->GetClosestPoint(&vertex,xc,yc,zc);
- if(fabs(zc)>10.) continue;
+ if(TMath::Abs(zc)>10.) continue;
fTrackPt->Fill(track->GetPt());
fTrackEta->Fill(track->GetPseudoRapidity());
fTrackPhi->Fill(track->GetPsi() * TMath::RadToDeg());
Int_t iSector = (hitID>>25) & 0x7f;
UInt_t position = hitID&0x3fffff;
UChar_t padrow = clusters[iSector][position].fPadRow;
- Float_t pWidth = AliL3Transform::GetPadPitchWidthLow();
+ Float_t pWidth = AliHLTTransform::GetPadPitchWidthLow();
if (padrow>63)
- pWidth = AliL3Transform::GetPadPitchWidthUp();
+ pWidth = AliHLTTransform::GetPadPitchWidthUp();
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);
delete tracks;
memHandler.CloseBinaryInput();
-#endif
}