X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONTrackerQADataMakerRec.cxx;h=51794e85414437020a361d1071047113454539ac;hb=909e332a6bb76ed38615640a89638c27fb07f022;hp=af4b100178c22c970f15a982f9b8912ad9c19d12;hpb=ac09753dc3bf088388559404af91a01d5eca40d9;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONTrackerQADataMakerRec.cxx b/MUON/AliMUONTrackerQADataMakerRec.cxx index af4b100178c..51794e85414 100644 --- a/MUON/AliMUONTrackerQADataMakerRec.cxx +++ b/MUON/AliMUONTrackerQADataMakerRec.cxx @@ -324,7 +324,7 @@ void AliMUONTrackerQADataMakerRec::EndOfDetectorCycleESDs(Int_t, TObjArray**) hESDClusterChargePerDE->SetBinError(iDE+1, sigmaCharge/TMath::Sqrt(nClusters)); } - if (hESDResidualXPerDEMean && hESDResidualXPerDESigma && hESDSumResidualXPerDE) { + if (hESDResidualXPerDEMean && hESDResidualXPerDESigma && hESDSumResidualXPerDE && hESDSumResidualX2PerDE) { Double_t meanResX = hESDSumResidualXPerDE->GetBinContent(iDE+1)/nClusters; hESDResidualXPerDEMean->SetBinContent(iDE+1, meanResX); hESDResidualXPerDEMean->SetBinError(iDE+1, sigmaResidualX/TMath::Sqrt(nClusters)); @@ -333,7 +333,7 @@ void AliMUONTrackerQADataMakerRec::EndOfDetectorCycleESDs(Int_t, TObjArray**) hESDResidualXPerDESigma->SetBinError(iDE+1, sigmaResidualX/TMath::Sqrt(2.*nClusters)); } // - if (hESDResidualYPerDEMean && hESDResidualYPerDESigma && hESDSumResidualYPerDE) { + if (hESDResidualYPerDEMean && hESDResidualYPerDESigma && hESDSumResidualYPerDE && hESDSumResidualY2PerDE) { Double_t meanResY = hESDSumResidualYPerDE->GetBinContent(iDE+1)/nClusters; hESDResidualYPerDEMean->SetBinContent(iDE+1, meanResY); hESDResidualYPerDEMean->SetBinError(iDE+1, sigmaResidualY/TMath::Sqrt(nClusters)); @@ -709,7 +709,7 @@ void AliMUONTrackerQADataMakerRec::FillReadoutStatus(AliMUONLogger& log, AliMUON // if (!hparity || !htoken || !hpadding || !hrostatus || !hnevents) return; - + Int_t nevents = TMath::Nint(hnevents->GetBinContent(1)); if ( !nevents ) @@ -722,6 +722,11 @@ void AliMUONTrackerQADataMakerRec::FillReadoutStatus(AliMUONLogger& log, AliMUON return; } + hparity->Reset(); + htoken->Reset(); + hpadding->Reset(); + hrostatus->Reset(); + ///////////////////////////////////////////////////////////////// /// Start by counting the number of errors ///////////////////////////////////////////////////////////////// @@ -1581,14 +1586,13 @@ void AliMUONTrackerQADataMakerRec::MakeESDs(AliESDEvent* esd) AliCodeTimerAuto(Form("%s",AliRecoParam::GetEventSpecieName(AliRecoParam::AConvert(Master()->GetEventSpecie()))),0); // load ESD event in the interface - AliMUONESDInterface esdInterface; - if (GetRecoParam()) AliMUONESDInterface::ResetTracker(GetRecoParam(), kFALSE); - else AliError("Unable to get recoParam: use default ones for residual calculation"); - esdInterface.LoadEvent(*esd); + if (!AliMUONESDInterface::GetTracker()) { + if (GetRecoParam()) AliMUONESDInterface::ResetTracker(GetRecoParam(), kFALSE); + else AliError("Unable to get recoParam: use default ones for residual calculation"); + } - FillESDsData(AliMUONQAIndices::kESDnTracks,esdInterface.GetNTracks()); - Int_t nTrackMatchTrig = 0; + Int_t nTrkTracks = 0, nTrackMatchTrig = 0; // loop over tracks Int_t nTracks = (Int_t) esd->GetNumberOfMuonTracks(); @@ -1597,23 +1601,25 @@ void AliMUONTrackerQADataMakerRec::MakeESDs(AliESDEvent* esd) // get the ESD track and skip "ghosts" AliESDMuonTrack* esdTrack = esd->GetMuonTrack(iTrack); if (!esdTrack->ContainTrackerData()) continue; + nTrkTracks++; // get corresponding MUON track - AliMUONTrack* track = esdInterface.FindTrack(esdTrack->GetUniqueID()); + AliMUONTrack track; + AliMUONESDInterface::ESDToMUON(*esdTrack, track); if (esdTrack->ContainTriggerData()) nTrackMatchTrig++; FillESDsData(AliMUONQAIndices::kESDMomentum,esdTrack->P()); FillESDsData(AliMUONQAIndices::kESDPt,esdTrack->Pt()); FillESDsData(AliMUONQAIndices::kESDRapidity,esdTrack->Y()); - FillESDsData(AliMUONQAIndices::kESDChi2,track->GetNormalizedChi2()); - FillESDsData(AliMUONQAIndices::kESDProbChi2,TMath::Prob(track->GetGlobalChi2(),track->GetNDF())); + FillESDsData(AliMUONQAIndices::kESDChi2,track.GetNormalizedChi2()); + FillESDsData(AliMUONQAIndices::kESDProbChi2,TMath::Prob(track.GetGlobalChi2(),track.GetNDF())); FillESDsData(AliMUONQAIndices::kESDThetaX,esdTrack->GetThetaXUncorrected() / TMath::Pi() * 180.); FillESDsData(AliMUONQAIndices::kESDThetaY,esdTrack->GetThetaYUncorrected() / TMath::Pi() * 180.); - FillESDsData(AliMUONQAIndices::kESDnClustersPerTrack,track->GetNClusters()); + FillESDsData(AliMUONQAIndices::kESDnClustersPerTrack,track.GetNClusters()); // loop over clusters - AliMUONTrackParam* trackParam = static_cast(track->GetTrackParamAtCluster()->First()); + AliMUONTrackParam* trackParam = static_cast(track.GetTrackParamAtCluster()->First()); while (trackParam) { AliMUONVCluster* cluster = trackParam->GetClusterPtr(); @@ -1655,12 +1661,13 @@ void AliMUONTrackerQADataMakerRec::MakeESDs(AliESDEvent* esd) FillESDsData(AliMUONQAIndices::kESDSumLocalChi2YPerDE,deID, localChi2Y); FillESDsData(AliMUONQAIndices::kESDSumLocalChi2PerDE,deID, localChi2); - trackParam = static_cast(track->GetTrackParamAtCluster()->After(trackParam)); + trackParam = static_cast(track.GetTrackParamAtCluster()->After(trackParam)); } } + FillESDsData(AliMUONQAIndices::kESDnTracks,nTrkTracks); FillESDsData(AliMUONQAIndices::kESDMatchTrig,nTrackMatchTrig); // }