ClassImp(AliMUONCheck)
/// \endcond
+//_____________________________________________________________________________
+const TString& AliMUONCheck::GetDefaultOutFileName()
+{
+ /// Default output file name
+ static const TString kDefaultOutFileName = "output.txt";
+ return kDefaultOutFileName;
+}
+
+//_____________________________________________________________________________
AliMUONCheck::AliMUONCheck(const char* galiceFile, const char* esdFile,Int_t firstEvent, Int_t lastEvent,const char* outDir)
: TObject(),
fFileName(galiceFile),
fFileNameSim(),
fesdFileName(esdFile),
fkOutDir(outDir),
+fOutFileName(GetDefaultOutFileName()),
fFirstEvent(firstEvent),
fLastEvent(lastEvent)
{
fFileNameSim(galiceFileSim),
fesdFileName(esdFile),
fkOutDir(outDir),
+fOutFileName(GetDefaultOutFileName()),
fFirstEvent(firstEvent),
fLastEvent(lastEvent)
{
Float_t muonMass = 0.105658389;
Double_t thetaX, thetaY, pYZ;
Double_t fPxRec1, fPyRec1, fPzRec1, fE1;
- Int_t fZ1;
AliESDEvent* fESD = new AliESDEvent();
TTree* tree = (TTree*) esdFile->Get("esdTree");
if (!tree)
{
Error("CheckESD", "no ESD tree found");
- AliError(Form("CheckESD", "no ESD tree found"));
+ AliError(Form("no ESD tree found"));
return ;
}
fESD->ReadFromTree(tree);
fPzRec1 = - pYZ / TMath::Sqrt(1.0 + TMath::Tan(thetaY)*TMath::Tan(thetaY));
fPxRec1 = fPzRec1 * TMath::Tan(thetaX);
fPyRec1 = fPzRec1 * TMath::Tan(thetaY);
- fZ1 = Int_t(TMath::Sign(1.,muonTrack->GetInverseBendingMomentum()));
fE1 = TMath::Sqrt(muonMass * muonMass + fPxRec1 * fPxRec1 + fPyRec1 * fPyRec1 + fPzRec1 * fPzRec1);
fV1.SetPxPyPzE(fPxRec1, fPyRec1, fPzRec1, fE1);
// -----------> transverse momentum
gSystem->cd(fkOutDir);
- FILE *outtxt=fopen("output.txt","a");
- freopen("output.txt","a",outtxt);
+ FILE *outtxt=fopen(fOutFileName.Data(),"a");
if(pdc06TriggerResponse){
fprintf(outtxt," \n");
p->Print("");
Int_t pdg=p->GetPdgCode();
- if (abs(pdg) == 13)
+ if (TMath::Abs(pdg) == 13)
{
++nmu2;
}
printf("**************************************************************** \n");
gSystem->cd(fkOutDir);
- FILE *outtxt=fopen("output.txt","a");
- freopen("output.txt","a",outtxt);
+ FILE *outtxt=fopen(fOutFileName.Data(),"a");
fprintf(outtxt," \n");
fprintf(outtxt,"=================================================================\n");
fprintf(outtxt,"================ MUONkine SUMMARY ================\n");
// Output values
- for ( Int_t ichamber = 0; ichamber < 14; ++ichamber )
+ for ( Int_t ichamber = 0; ichamber < nchambers; ++ichamber )
{
printf(">>> Chamber %2d nChannels Bending %5d nChannels NonBending %5d \n",
ichamber+1,
cHoccupancyBending[ichamber],
- cHoccupancyNonBending[ichamber]);
- printf(">>> Chamber %2d Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
- ichamber+1,
- 100.*((Float_t) cHoccupancyBending[ichamber])/((Float_t) cHchannelsBending[ichamber]),
- 100.*((Float_t) cHoccupancyNonBending[ichamber])/((Float_t) cHchannelsBending[ichamber]) );
+ cHoccupancyNonBending[ichamber]);
+ if ( cHchannelsBending[ichamber] != 0 && cHchannelsBending[ichamber] ) {
+ printf(">>> Chamber %2d Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
+ ichamber+1,
+ 100.*((Float_t) cHoccupancyBending[ichamber])/((Float_t) cHchannelsBending[ichamber]),
+ 100.*((Float_t) cHoccupancyNonBending[ichamber])/((Float_t) cHchannelsBending[ichamber]));
+ }
if ( perDetEle )
{
idetele+100*(ichamber+1),
dEoccupancyBending[ichamber][idetele],
dEoccupancyNonBending[ichamber][idetele]);
- printf(">>> DetEle %4d Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
- idetele+100*(ichamber+1),
- 100.*((Float_t) dEoccupancyBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]),
- 100.*((Float_t) dEoccupancyNonBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]));
+
+ if ( dEchannelsBending[ichamber][idetele] != 0 && dEchannelsBending[ichamber][idetele] !=0 ) {
+ printf(">>> DetEle %4d Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
+ idetele+100*(ichamber+1),
+ 100.*((Float_t) dEoccupancyBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]),
+ 100.*((Float_t) dEoccupancyNonBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]));
+ }
}
}
}
}
- printf(">>> Muon Spectrometer Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
- 100.*((Float_t) totaloccupancyBending)/((Float_t) totalchannelsBending),
- 100.*((Float_t) totaloccupancyNonBending)/((Float_t) totalchannelsNonBending) );
-
+ if ( totalchannelsBending != 0 && totalchannelsNonBending != 0 ) {
+ printf(">>> Muon Spectrometer Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
+ 100.*((Float_t) totaloccupancyBending)/((Float_t) totalchannelsBending),
+ 100.*((Float_t) totaloccupancyNonBending)/((Float_t) totalchannelsNonBending));
+ }
}
//_____________________________________________________________________________