fBackground(0),
fEnergyDistribution(0),
fEventSelectionEfficiency(0),
+ fSharingEfficiency(0),
fCorner1(4.2231, 26.6638),
fCorner2(1.8357, 27.9500),
- fEnergyPath("$ALICE_ROOT/FMD/Correction/EnergyDistribution"),
- fBackgroundPath("$ALICE_ROOT/FMD/Correction/Background"),
- fEventSelectionEffPath("$ALICE_ROOT/FMD/Correction/EventSelectionEfficiency"),
- fSharingEffPath("$ALICE_ROOT/FMD/Correction/SharingEfficiency"),
+ fEnergyPath("$ALICE_ROOT/PWG2/FORWARD/corrections/EnergyDistribution"),
+ fBackgroundPath("$ALICE_ROOT/PWG2/FORWARD/corrections/Background"),
+ fEventSelectionEffPath("$ALICE_ROOT/PWG2/FORWARD/corrections/EventSelectionEfficiency"),
+ fSharingEffPath("$ALICE_ROOT/PWG2/FORWARD/corrections/SharingEfficiency"),
fProcessPrimary(kFALSE),
fProcessHits(kFALSE),
fTrigger(kMB1),
fMagField(k5G),
fSpecies(kPP)
{
-
-
+ // Do not use this - it is only for IO
+ fgInstance = this;
//fVerticies.Add(new TVector2(4.2231, 26.6638));
// fVerticies.Add(new TVector2(1.8357, 27.9500));
// Default constructor
//____________________________________________________________________
char* AliFMDAnaParameters::GetPath(const char* species) {
- char* path ;
+ char* path = "";
if(species == fgkBackgroundID)
path = Form("%s/%s_%d_%d_%d_%d_%d_%d.root",
}
//____________________________________________________________________
+void AliFMDAnaParameters::PrintStatus() const
+{
+
+ TString energystring;
+ switch(fEnergy) {
+ case k900:
+ energystring.Form("900 GeV"); break;
+ case k7000:
+ energystring.Form("7000 GeV"); break;
+ case k10000:
+ energystring.Form("10000 GeV"); break;
+ case k14000:
+ energystring.Form("14000 GeV"); break;
+ default:
+ energystring.Form("invalid energy"); break;
+ }
+ TString triggerstring;
+ switch(fTrigger) {
+ case kMB1:
+ triggerstring.Form("Minimum bias 1"); break;
+ case kMB2:
+ triggerstring.Form("Minimum bias 2"); break;
+ case kSPDFASTOR:
+ triggerstring.Form("SPD FAST OR"); break;
+ case kNOCTP:
+ triggerstring.Form("NO TRIGGER TEST"); break;
+ default:
+ energystring.Form("invalid trigger"); break;
+ }
+ TString magstring;
+ switch(fMagField) {
+ case k5G:
+ magstring.Form("5 kGaus"); break;
+ case k0G:
+ magstring.Form("0 kGaus"); break;
+ default:
+ magstring.Form("invalid mag field"); break;
+ }
+ TString collsystemstring;
+ switch(fSpecies) {
+ case kPP:
+ collsystemstring.Form("p+p"); break;
+ case kPbPb:
+ collsystemstring.Form("Pb+Pb"); break;
+ default:
+ collsystemstring.Form("invalid collision system"); break;
+ }
+
+
+ std::cout<<"Energy = "<<energystring.Data()<<std::endl;
+ std::cout<<"Trigger = "<<triggerstring.Data()<<std::endl;
+ std::cout<<"Mag Field = "<<magstring.Data()<<std::endl;
+ std::cout<<"Coll System = "<<collsystemstring.Data()<<std::endl;
+
+
+
+}
+
+//____________________________________________________________________
+
void AliFMDAnaParameters::InitSharingEff() {
//AliCDBEntry* background = GetEntry(fgkBackgroundCorrection);
//_____________________________________________________________________
-void AliFMDAnaParameters::GetVertex(AliESDEvent* esd, Double_t* vertexXYZ)
+Bool_t AliFMDAnaParameters::GetVertex(AliESDEvent* esd, Double_t* vertexXYZ)
{
+
const AliESDVertex* vertex = 0;
- vertex = esd->GetPrimaryVertex();
- if(!vertex || (vertexXYZ[0] == 0 && vertexXYZ[1] == 0 && vertexXYZ[2] == 0))
- vertex = esd->GetPrimaryVertexSPD();
- if(!vertex || (vertexXYZ[0] == 0 && vertexXYZ[1] == 0 && vertexXYZ[2] == 0))
- vertex = esd->GetPrimaryVertexTPC();
- if(!vertex || (vertexXYZ[0] == 0 && vertexXYZ[1] == 0 && vertexXYZ[2] == 0))
- vertex = esd->GetVertex();
- if (vertex && (vertexXYZ[0] != 0 || vertexXYZ[1] != 0 || vertexXYZ[2] != 0)) {
+ vertex = esd->GetPrimaryVertexSPD();
+ if(vertex)
vertex->GetXYZ(vertexXYZ);
- //std::cout<<vertex->GetName()<<" "<< vertex->GetTitle() <<" "<< vertex->GetZv()<<std::endl;
- return;
- }
- else if (esd->GetESDTZERO()) {
- vertexXYZ[0] = 0;
- vertexXYZ[1] = 0;
- vertexXYZ[2] = esd->GetT0zVertex();
-
- return;
- }
- return;
+ return vertex->GetStatus();
}
//____________________________________________________________________
-Bool_t AliFMDAnaParameters::IsEventTriggered(AliESDEvent *esd) {
+Bool_t AliFMDAnaParameters::IsEventTriggered(AliESDEvent *esd) const {
// check if the event was triggered
ULong64_t triggerMask = esd->GetTriggerMask();
return kTRUE;
break;
}
- case kTEST_NOCTP: {
+ case kNOCTP: {
return kTRUE;
break;
}