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));
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));
TH1* hddl = GetDigitsData(AliMUONQAIndices::kTrackerDDLOccupancy, itc);
TH1* hddlevents = GetDigitsData(AliMUONQAIndices::kTrackerDDLNofEventsUsed, itc);
- if (itc==-1 && (!hbp || !hnevents || !hddl || !hddlevents) ) { // RS: produce error only for trigger-blind class
- AliError(Form("Missing some histograms : cannot work : hbp=%p hnevents=%p hddl=%p hddlevents=%p",hbp,hnevents,hddl,hddlevents));
- continue; //return; // RS
+ if ( (!hbp || !hnevents || !hddl || !hddlevents) )
+ {
+ if (itc==-1)
+ {
+ // report error only for trigger-blind class
+ AliError(Form("Missing some histograms : cannot work : hbp=%p hnevents=%p hddl=%p hddlevents=%p",hbp,hnevents,hddl,hddlevents));
+ continue; //return; // RS
+ }
+ else
+ {
+ continue;
+ }
}
//
ProjectTrackerData(TrackerCalData(specie), *hbp,*hnevents,*hddl,*hddlevents);
//
if (!hparity || !htoken || !hpadding || !hrostatus || !hnevents) return;
-
+
Int_t nevents = TMath::Nint(hnevents->GetBinContent(1));
if ( !nevents )
return;
}
+ hparity->Reset();
+ htoken->Reset();
+ hpadding->Reset();
+ hrostatus->Reset();
+
/////////////////////////////////////////////////////////////////
/// Start by counting the number of errors
/////////////////////////////////////////////////////////////////
Add2RawsList(new TH1F("hTrackerIsThere","tracker is there",1,0,1),AliMUONQAIndices::kTrackerIsThere,kTRUE,kFALSE,kFALSE);
//
- ClonePerTrigClass(AliQAv1::kRAWS); // this should be the last line
+ //ClonePerTrigClass(AliQAv1::kRAWS); // this should be the last line DONE at parent level
}
//__________________________________________________________________
/// Book histograms that are common to Raws and Digits
BookHistograms(AliQAv1::kDIGITSR);
//
- ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line
+ //ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line DONE at parent level
}
//____________________________________________________________________________
MappingCheckRecPoints(AliRecoParam::AConvert(Master()->GetEventSpecie()),kTRUE);
//
- ClonePerTrigClass(AliQAv1::kRECPOINTS); // this should be the last line
+ //ClonePerTrigClass(AliQAv1::kRECPOINTS); // this should be the last line DONE at parent level
}
//____________________________________________________________________________
TH1F* hESDSumLocalChi2PerDE = new TH1F("hESDSumLocalChi2PerDE", "sum of local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) per DE;DetElem ID;#Sigma(local #chi^{2})", nDE+1, -0.5, nDE+0.5);
Add2ESDsList(hESDSumLocalChi2PerDE, AliMUONQAIndices::kESDSumLocalChi2PerDE, expert, !image);
//
- ClonePerTrigClass(AliQAv1::kESDS); // this should be the last line
+ //ClonePerTrigClass(AliQAv1::kESDS); // this should be the last line DONE at parent level
}
//____________________________________________________________________________
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();
// 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<AliMUONTrackParam*>(track->GetTrackParamAtCluster()->First());
+ AliMUONTrackParam* trackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->First());
while (trackParam) {
AliMUONVCluster* cluster = trackParam->GetClusterPtr();
FillESDsData(AliMUONQAIndices::kESDSumLocalChi2YPerDE,deID, localChi2Y);
FillESDsData(AliMUONQAIndices::kESDSumLocalChi2PerDE,deID, localChi2);
- trackParam = static_cast<AliMUONTrackParam*>(track->GetTrackParamAtCluster()->After(trackParam));
+ trackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->After(trackParam));
}
}
+ FillESDsData(AliMUONQAIndices::kESDnTracks,nTrkTracks);
FillESDsData(AliMUONQAIndices::kESDMatchTrig,nTrackMatchTrig);
//
}