fAliceRunIdFlag(kFALSE),
fAliceMagneticField(-1.),
fAliceMagneticFieldFlag(kFALSE),
+ fAliceDipoleField(-1.),
+ fAliceDipoleFieldFlag(kFALSE),
fAliceRunStartTimeMin(-1),
fAliceRunStartTimeMax(-1),
fAliceRunStartTimeFlag(kFALSE),
fRootVersion(""),
fRootVersionFlag(kFALSE),
fGeant3Version(""),
- fGeant3VersionFlag(kFALSE),
- fAliceRunQuality(0),
- fAliceRunQualityFlag(kFALSE),
+ fGeant3VersionFlag(kFALSE),
+ fLHCPeriod(""),
+ fLHCPeriodFlag(kFALSE),
+ fRecPass(""),
+ fRecPassFlag(kFALSE),
+ fProdName(""),
+ fProdNameFlag(kFALSE),
+ fAliceRunValidation(0),
+ fAliceRunValidationFlag(kFALSE),
+ fAliceRunQualities(""),
+ fAliceRunQualitiesFlag(kFALSE),
fAliceBeamEnergy(-1),
fAliceBeamEnergyFlag(kFALSE),
fAliceBeamType(""),
fAliceCalibrationVersion(-1),
fAliceCalibrationVersionFlag(kFALSE),
fAliceDataType(-1),
- fAliceDataTypeFlag(kFALSE)
+ fAliceDataTypeFlag(kFALSE),
+ fBeamTriggerRange(),
+ fBeamTriggerFlag(kFALSE),
+ fCollisionTriggerRange(),
+ fCollisionTriggerFlag(kFALSE),
+ fEmptyTriggerRange(),
+ fEmptyTriggerFlag(kFALSE),
+ fASideTriggerRange(),
+ fASideTriggerFlag(kFALSE),
+ fCSideTriggerRange(),
+ fCSideTriggerFlag(kFALSE),
+ fHMTriggerRange(),
+ fHMTriggerFlag(kFALSE),
+ fMuonTriggerRange(),
+ fMuonTriggerFlag(kFALSE),
+ fCollisionRateRange(),
+ fCollisionRateFlag(kFALSE),
+ fMeanVertexRange(),
+ fMeanVertexFlag(kFALSE),
+ fVertexQualityRange(),
+ fVertexQualityFlag(kFALSE)
{
//Default constructor which calls the Reset method.
}
fAliceRunIdFlag = kFALSE;
fAliceMagneticField = -1.;
fAliceMagneticFieldFlag = kFALSE;
+ fAliceDipoleField = -1.;
+ fAliceDipoleFieldFlag = kFALSE;
fAliceRunStartTimeMin = -1;
fAliceRunStartTimeMax = -1;
fAliceRunStartTimeFlag = kFALSE;
fRootVersionFlag = kFALSE;
fGeant3Version = "";
fGeant3VersionFlag = kFALSE;
- fAliceRunQuality = 0;
- fAliceRunQualityFlag = kFALSE;
+ fLHCPeriod = "";
+ fLHCPeriodFlag = kFALSE;
+ fRecPass = "";
+ fRecPassFlag = kFALSE;
+ fProdName = "";
+ fProdNameFlag = kFALSE;
+ fAliceRunValidation = 0;
+ fAliceRunValidationFlag = kFALSE;
+ fAliceRunQualities = "";
+ fAliceRunQualitiesFlag = kFALSE;
fAliceBeamEnergy = -1;
fAliceBeamEnergyFlag = kFALSE;
fAliceBeamType = "";
fAliceCalibrationVersionFlag = kFALSE;
fAliceDataType = -1;
fAliceDataTypeFlag = kFALSE;
+ fBeamTriggerRange[0] = 0;
+ fBeamTriggerRange[1] = 0;
+ fBeamTriggerFlag = kFALSE;
+ fCollisionTriggerRange[0] = 0;
+ fCollisionTriggerRange[1] = 0;
+ fCollisionTriggerFlag = kFALSE;
+ fEmptyTriggerRange[0] = 0;
+ fEmptyTriggerRange[1] = 0;
+ fEmptyTriggerFlag = kFALSE;
+ fASideTriggerRange[0] = 0;
+ fASideTriggerRange[1] = 0;
+ fASideTriggerFlag = kFALSE;
+ fCSideTriggerRange[0] = 0;
+ fCSideTriggerRange[1] = 0;
+ fCSideTriggerFlag = kFALSE;
+ fHMTriggerRange[0] = 0;
+ fHMTriggerRange[1] = 0;
+ fHMTriggerFlag = kFALSE;
+ fMuonTriggerRange[0] = 0;
+ fMuonTriggerRange[1] = 0;
+ fMuonTriggerFlag = kFALSE;
+ fCollisionRateRange[0] = 0;
+ fCollisionRateRange[1] = 0;
+ fCollisionRateFlag = kFALSE;
+ fMeanVertexRange[0] = 0;
+ fMeanVertexRange[1] = 0;
+ fMeanVertexFlag = kFALSE;
+ fVertexQualityRange[0] = 0;
+ fVertexQualityRange[1] = 0;
+ fVertexQualityFlag = kFALSE;
+}
+
+void AliRunTagCuts::AddRunQualityValue(Int_t qval)
+{
+ // Adds to the list of selected run qualities
+ fAliceRunQualities += qval;
+ fAliceRunQualities += " ";
+ fAliceRunQualitiesFlag = kTRUE;
}
//___________________________________________________________________________
if(fAliceMagneticFieldFlag)
if((RunTag->GetMagneticField() != fAliceMagneticField))
return kFALSE;
+ if(fAliceDipoleFieldFlag)
+ if((RunTag->GetDipoleField() != fAliceDipoleField))
+ return kFALSE;
if(fAliceRunStartTimeFlag)
if((RunTag->GetRunStartTime() < fAliceRunStartTimeMin) || (RunTag->GetRunStartTime() > fAliceRunStartTimeMax))
return kFALSE;
if(fGeant3VersionFlag)
if((RunTag->GetGeant3Version() != fGeant3Version))
return kFALSE;
- if(fAliceRunQualityFlag)
- if(RunTag->GetRunQuality())
+ if(fLHCPeriodFlag)
+ if((RunTag->GetLHCPeriod() != fLHCPeriod))
+ return kFALSE;
+ if(fRecPassFlag)
+ if((RunTag->GetReconstructionPass() != fRecPass))
+ return kFALSE;
+ if(fProdNameFlag)
+ if((RunTag->GetProductionName() != fProdName))
+ return kFALSE;
+ if(fAliceRunValidationFlag)
+ if(RunTag->GetRunValidation())
+ return kFALSE;
+ if (fAliceRunQualitiesFlag) {
+ TObjArray *tQualities = fAliceRunQualities.Tokenize(" ");
+ Bool_t tQual = kFALSE;
+
+ TString tRQual = "";
+ tRQual += RunTag->GetRunQuality();
+
+ for (int iqual=0; iqual<tQualities->GetEntries(); iqual++)
+ if (((TObjString *) tQualities->At(iqual))->GetString().Contains(tRQual))
+ tQual = kTRUE;
+ // if (EvTag->GetFiredTriggerClasses().Contains(((TObjString *) tClasses->At(iqual))->GetString()))
+
+ tQualities->Delete();
+ delete tQualities;
+
+ if (!tQual)
return kFALSE;
+ }
if(fAliceBeamEnergyFlag)
if(RunTag->GetBeamEnergy() != fAliceBeamEnergy)
return kFALSE;
if(fAliceDataTypeFlag)
if(RunTag->GetDataType() != fAliceDataType)
return kFALSE;
-
+ if (fBeamTriggerFlag)
+ if ((RunTag->GetBeamTriggers() < fBeamTriggerRange[0]) || (RunTag->GetBeamTriggers() > fBeamTriggerRange[1]))
+ return kFALSE;
+ if (fCollisionTriggerFlag)
+ if ((RunTag->GetCollisionTriggers() < fCollisionTriggerRange[0]) || (RunTag->GetCollisionTriggers() > fCollisionTriggerRange[1]))
+ return kFALSE;
+ if (fEmptyTriggerFlag)
+ if ((RunTag->GetEmptyTriggers() < fEmptyTriggerRange[0]) || (RunTag->GetEmptyTriggers() > fEmptyTriggerRange[1]))
+ return kFALSE;
+ if (fCSideTriggerFlag)
+ if ((RunTag->GetCSideTriggers() < fCSideTriggerRange[0]) || (RunTag->GetCSideTriggers() > fCSideTriggerRange[1]))
+ return kFALSE;
+ if (fASideTriggerFlag)
+ if ((RunTag->GetASideTriggers() < fASideTriggerRange[0]) || (RunTag->GetASideTriggers() > fASideTriggerRange[1]))
+ return kFALSE;
+ if (fHMTriggerFlag)
+ if ((RunTag->GetHMTriggers() < fHMTriggerRange[0]) || (RunTag->GetHMTriggers() > fHMTriggerRange[1]))
+ return kFALSE;
+ if (fMuonTriggerFlag)
+ if ((RunTag->GetMuonTriggers() < fMuonTriggerRange[0]) || (RunTag->GetMuonTriggers() > fMuonTriggerRange[1]))
+ return kFALSE;
+ if (fCollisionRateFlag)
+ if ((RunTag->GetCollisionRate() < fCollisionRateRange[0]) || (RunTag->GetCollisionRate() > fCollisionRateRange[1]))
+ return kFALSE;
+ if (fMeanVertexFlag)
+ if ((RunTag->GetMeanVertex() < fMeanVertexRange[0]) || (RunTag->GetMeanVertex() > fMeanVertexRange[1]))
+ return kFALSE;
+ if (fVertexQualityFlag)
+ if ((RunTag->GetVertexQuality() < fVertexQualityRange[0]) || (RunTag->GetVertexQuality() > fVertexQualityRange[1]))
+ return kFALSE;
+
return kTRUE;
}