#include <AliLog.h>
class AliESD;
#include <TMath.h>
#include "AliEventTag.h"
#include "AliEventTagCuts.h"
#include <TObjArray.h>
#include <TObjString.h>
ClassImp(AliEventTagCuts)
AliEventTagCuts::AliEventTagCuts() :
TObject(),
fPeriodNumberMin(0), fPeriodNumberMax(0xFFFFFFFF), fPeriodNumberFlag(kFALSE),
fOrbitNumberMin(0), fOrbitNumberMax(0xFFFFFFFF), fOrbitNumberFlag(kFALSE),
fBunchCrossNumberMin(0), fBunchCrossNumberMax(0xFFFF),
fBunchCrossNumberFlag(kFALSE),
fEventType(7), fEventTypeFlag(kFALSE),
fNParticipantsMin(-1), fNParticipantsMax(10000),
fNParticipantsFlag(kFALSE),
fImpactParamMin(-1.0), fImpactParamMax(1000.0),
fImpactParamFlag(kFALSE),
fEtaMin(-13.0), fEtaMax(13.0),
fEtaFlag(kFALSE),
fPhiMin(0.), fPhiMax(2*(TMath::Pi())),
fPhiFlag(kFALSE),
fVxMin(-1000.0), fVxMax(1000.0),
fVxFlag(kFALSE),
fVyMin(-1000.0), fVyMax(1000.0),
fVyFlag(kFALSE),
fVzMin(-1000.0), fVzMax(1000.0),
fVzFlag(kFALSE),
fPrimaryVertexFlag(1),
fPVFlag(kFALSE),
fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
fPVzErrorFlag(kFALSE),
fTriggerMask(0),
fTriggerMaskFlag(kFALSE),
fTriggerCluster(0),
fTriggerClusterFlag(kFALSE),
fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
fZDCNeutron1EnergyFlag(kFALSE),
fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
fZDCProton1EnergyFlag(kFALSE),
fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
fZDCNeutron2EnergyFlag(kFALSE),
fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
fZDCProton2EnergyFlag(kFALSE),
fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
fZDCEMEnergyFlag(kFALSE),
fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),
fT0VertexZFlag(kFALSE),
fMultMin(0), fMultMax(100000),
fMultFlag(kFALSE),
fPosMultMin(-1), fPosMultMax(100000),
fPosMultFlag(kFALSE),
fNegMultMin(-1), fNegMultMax(100000),
fNegMultFlag(kFALSE),
fNeutrMultMin(-1), fNeutrMultMax(100000),
fNeutrMultFlag(kFALSE),
fNV0sMin(-1), fNV0sMax(1000000),
fNV0sFlag(kFALSE),
fNCascadesMin(-1), fNCascadesMax(100000),
fNCascadesFlag(kFALSE),
fNKinksMin(-1), fNKinksMax(1000000),
fNKinksFlag(kFALSE),
fNPMDTracksMin(-1), fNPMDTracksMax(100000),
fNPMDTracksFlag(kFALSE),
fNFMDTracksMin(-1), fNFMDTracksMax(100000),
fNFMDTracksFlag(kFALSE),
fNPHOSClustersMin(-1), fNPHOSClustersMax(100000),
fNPHOSClustersFlag(kFALSE),
fNEMCALClustersMin(-1), fNEMCALClustersMax(100000),
fNEMCALClustersFlag(kFALSE),
fNJetCandidatesMin(-1), fNJetCandidatesMax(100000),
fNJetCandidatesFlag(kFALSE),
fTopJetEnergyMin(-1.0),
fTopJetEnergyMinFlag(kFALSE),
fTopNeutralEnergyMin(-1.0),
fTopNeutralEnergyMinFlag(kFALSE),
fNHardPhotonCandidatesMin(-1), fNHardPhotonCandidatesMax(100000),
fNHardPhotonCandidatesFlag(kFALSE),
fNChargedAbove1GeVMin(-1), fNChargedAbove1GeVMax(100000),
fNChargedAbove1GeVFlag(kFALSE),
fNChargedAbove3GeVMin(-1), fNChargedAbove3GeVMax(100000),
fNChargedAbove3GeVFlag(kFALSE),
fNChargedAbove10GeVMin(-1), fNChargedAbove10GeVMax(100000),
fNChargedAbove10GeVFlag(kFALSE),
fNMuonsAbove1GeVMin(-1), fNMuonsAbove1GeVMax(100000),
fNMuonsAbove1GeVFlag(kFALSE),
fNMuonsAbove3GeVMin(-1), fNMuonsAbove3GeVMax(100000),
fNMuonsAbove3GeVFlag(kFALSE),
fNMuonsAbove10GeVMin(-1), fNMuonsAbove10GeVMax(100000),
fNMuonsAbove10GeVFlag(kFALSE),
fNElectronsAbove1GeVMin(-1), fNElectronsAbove1GeVMax(100000),
fNElectronsAbove1GeVFlag(kFALSE),
fNElectronsAbove3GeVMin(-1), fNElectronsAbove3GeVMax(100000),
fNElectronsAbove3GeVFlag(kFALSE),
fNElectronsAbove10GeVMin(-1), fNElectronsAbove10GeVMax(100000),
fNElectronsAbove10GeVFlag(kFALSE),
fNElectronsMin(-1), fNElectronsMax(100000),
fNElectronsFlag(kFALSE),
fNFWMuonsMin(-1), fNFWMuonsMax(100000),
fNFWMuonsFlag(kFALSE),
fNFWMatchedMuonsMin(-1), fNFWMatchedMuonsMax(100000),
fNFWMatchedMuonsFlag(kFALSE),
fNMuonsMin(-1), fNMuonsMax(100000),
fNMuonsFlag(kFALSE),
fNPionsMin(-1), fNPionsMax(100000),
fNPionsFlag(kFALSE),
fNKaonsMin(-1), fNKaonsMax(100000),
fNKaonsFlag(kFALSE),
fNProtonsMin(-1), fNProtonsMax(100000),
fNProtonsFlag(kFALSE),
fNLambdasMin(-1), fNLambdasMax(100000),
fNLambdasFlag(kFALSE),
fNPhotonsMin(-1), fNPhotonsMax(100000),
fNPhotonFlag(kFALSE),
fNPi0sMin(-1), fNPi0sMax(100000),
fNPi0sFlag(kFALSE),
fNNeutronsMin(-1), fNNeutronsMax(100000),
fNNeutronsFlag(kFALSE),
fNKaon0sMin(-1), fNKaon0sMax(100000),
fNKaon0sFlag(kFALSE),
fTotalPMin(-1.0), fTotalPMax(1000000.0),
fTotalPFlag(kFALSE),
fMeanPtMin(-1.0), fMeanPtMax(100000.0),
fMeanPtFlag(kFALSE),
fTopPtMin(-1.0),
fTopPtMinFlag(kFALSE),
fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
fTotalNeutralPFlag(kFALSE),
fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
fMeanNeutralPtFlag(kFALSE),
fTopNeutralPtMin(-1.0),
fTopNeutralPtMinFlag(kFALSE),
fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0),
fEventPlaneAngleFlag(kFALSE),
fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0),
fHBTRadiiFlag(kFALSE),
fNumberOfFiredChipsLayer1Min(0), fNumberOfFiredChipsLayer1Max(100000),
fNumberOfFiredChipsLayer1Flag(kFALSE),
fNumberOfFiredChipsLayer2Min(0), fNumberOfFiredChipsLayer2Max(100000),
fNumberOfFiredChipsLayer2Flag(kFALSE),
fNumberOfSPDTrackletsMin(0), fNumberOfSPDTrackletsMax(100000),
fNumberOfSPDTrackletsFlag(kFALSE),
fFiredTriggerClassFlag(kFALSE), fFiredTriggerClass(""),
fActiveTriggerClasses("")
{
Reset();
}
AliEventTagCuts::~AliEventTagCuts() {
}
void AliEventTagCuts::Reset() {
fPeriodNumberFlag = kFALSE;
fOrbitNumberFlag = kFALSE;
fBunchCrossNumberFlag = kFALSE;
fEventTypeFlag = kFALSE;
fNParticipantsFlag = kFALSE;
fImpactParamFlag = kFALSE;
fEtaFlag = kFALSE;
fPhiFlag = kFALSE;
fVxFlag = kFALSE;
fVyFlag = kFALSE;
fVzFlag = kFALSE;
fPVFlag = kFALSE;
fPVzErrorFlag = kFALSE;
fTriggerMaskFlag = kFALSE;
fTriggerClusterFlag = kFALSE;
fZDCNeutron1EnergyFlag = kFALSE;
fZDCProton1EnergyFlag = kFALSE;
fZDCNeutron2EnergyFlag = kFALSE;
fZDCProton2EnergyFlag = kFALSE;
fZDCEMEnergyFlag = kFALSE;
fT0VertexZFlag = kFALSE;
fMultFlag = kFALSE;
fPosMultFlag = kFALSE;
fNegMultFlag = kFALSE;
fNeutrMultFlag = kFALSE;
fNV0sFlag = kFALSE;
fNCascadesFlag = kFALSE;
fNKinksFlag = kFALSE;
fNPMDTracksFlag = kFALSE;
fNFMDTracksFlag = kFALSE;
fNPHOSClustersFlag = kFALSE;
fNEMCALClustersFlag = kFALSE;
fNJetCandidatesFlag = kFALSE;
fTopJetEnergyMinFlag = kFALSE;
fNHardPhotonCandidatesFlag = kFALSE;
fTopNeutralEnergyMinFlag = kFALSE;
fNChargedAbove1GeVFlag = kFALSE;
fNChargedAbove3GeVFlag = kFALSE;
fNChargedAbove10GeVFlag = kFALSE;
fNMuonsAbove1GeVFlag = kFALSE;
fNMuonsAbove3GeVFlag = kFALSE;
fNMuonsAbove10GeVFlag = kFALSE;
fNElectronsAbove1GeVFlag = kFALSE;
fNElectronsAbove3GeVFlag = kFALSE;
fNElectronsAbove10GeVFlag = kFALSE;
fNElectronsFlag = kFALSE;
fNFWMuonsFlag = kFALSE;
fNFWMatchedMuonsFlag = kFALSE;
fNMuonsFlag = kFALSE;
fNPionsFlag = kFALSE;
fNKaonsFlag = kFALSE;
fNProtonsFlag = kFALSE;
fNLambdasFlag = kFALSE;
fNPhotonFlag = kFALSE;
fNPi0sFlag = kFALSE;
fNNeutronsFlag = kFALSE;
fNKaon0sFlag = kFALSE;
fTotalPFlag = kFALSE;
fMeanPtFlag = kFALSE;
fTopPtMinFlag = kFALSE;
fTotalNeutralPFlag = kFALSE;
fMeanNeutralPtFlag = kFALSE;
fTopNeutralPtMinFlag = kFALSE;
fEventPlaneAngleFlag = kFALSE;
fHBTRadiiFlag = kFALSE;
fNumberOfFiredChipsLayer1Flag = kFALSE;
fNumberOfFiredChipsLayer2Flag = kFALSE;
fNumberOfSPDTrackletsFlag = kFALSE;
fPeriodNumberMin = 0, fPeriodNumberMax = 0xFFFFFFFF;
fOrbitNumberMin = 0, fOrbitNumberMax = 0xFFFFFFFF;
fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFF;
fEventType = 7;
fEtaMin = -13.0; fEtaMax = 13.0;
fPhiMin = 0.; fPhiMax = 2*(TMath::Pi());
fVxMin = -1000.0; fVxMax = 1000.0;
fVyMin = -1000.0; fVyMax = 1000.0;
fVzMin = -1000.0; fVzMax = 1000.0;
fNParticipantsMin = -1; fNParticipantsMax = 10000;
fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
fPrimaryVertexFlag = 1;
fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
fTriggerMask = 0;
fTriggerCluster = 0;
fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
fMultMin = 0; fMultMax = 100000;
fPosMultMin = -1; fPosMultMax = 100000;
fNegMultMin = -1; fNegMultMax = 100000;
fNeutrMultMin = -1; fNeutrMultMax = 100000;
fNV0sMin = -1; fNV0sMax = 1000000;
fNCascadesMin = -1; fNCascadesMax = 100000;
fNKinksMin = -1; fNKinksMax = 1000000;
fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
fTopJetEnergyMin = -1.0;
fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
fTopNeutralEnergyMin = -1.0;
fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000;
fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
fNElectronsMin = -1; fNElectronsMax = 100000;
fNFWMuonsMin = -1; fNFWMuonsMax = 100000;
fNFWMatchedMuonsMin = -1; fNFWMatchedMuonsMax = 100000;
fNMuonsMin = -1; fNMuonsMax = 100000;
fNPionsMin = -1; fNPionsMax = 100000;
fNKaonsMin = -1; fNKaonsMax = 100000;
fNProtonsMin = -1; fNProtonsMax = 100000;
fNLambdasMin = -1; fNLambdasMax = 100000;
fNPhotonsMin = -1; fNPhotonsMax = 100000;
fNPi0sMin = -1; fNPi0sMax = 100000;
fNNeutronsMin = -1; fNNeutronsMax = 100000;
fNKaon0sMin = -1; fNKaon0sMax = 100000;
fTotalPMin = -1.0; fTotalPMax = 1000000.0;
fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
fTotalNeutralPMax = 1000000.0;
fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
fTopNeutralPtMin = -1.0;
fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
fNumberOfFiredChipsLayer1Min = 0, fNumberOfFiredChipsLayer1Max = 100000;
fNumberOfFiredChipsLayer2Min = 0, fNumberOfFiredChipsLayer2Max = 100000;
fNumberOfSPDTrackletsMin = 0, fNumberOfSPDTrackletsMax = 100000;
fFiredTriggerClass = "";
fFiredTriggerClassFlag = kFALSE;
}
void AliEventTagCuts::SetEventType(UInt_t ntype) {
fEventType = ntype;
fEventTypeFlag = kTRUE;
}
void AliEventTagCuts::SetNumberOfFiredChipsLayer1Range(Int_t low, Int_t high) {
fNumberOfFiredChipsLayer1Min = low;
fNumberOfFiredChipsLayer1Max = high;
fNumberOfFiredChipsLayer1Flag = kTRUE;
}
void AliEventTagCuts::SetNumberOfFiredChipsLayer2Range(Int_t low, Int_t high) {
fNumberOfFiredChipsLayer2Min = low;
fNumberOfFiredChipsLayer2Max = high;
fNumberOfFiredChipsLayer2Flag = kTRUE;
}
void AliEventTagCuts::SetNumberOfSPDTrackletsRange(Int_t low, Int_t high) {
fNumberOfSPDTrackletsMin = low;
fNumberOfSPDTrackletsMax = high;
fNumberOfSPDTrackletsFlag = kTRUE;
}
void AliEventTagCuts::SetPeriodNumberRange(UInt_t low, UInt_t high) {
fPeriodNumberMin = low;
fPeriodNumberMax = high;
fPeriodNumberFlag = kTRUE;
}
void AliEventTagCuts::SetOrbitNumberRange(UInt_t low, UInt_t high) {
fOrbitNumberMin = low;
fOrbitNumberMax = high;
fOrbitNumberFlag = kTRUE;
}
void AliEventTagCuts::SetBunchCrossNumberRange(UShort_t low, UShort_t high) {
fBunchCrossNumberMin = low;
fBunchCrossNumberMax = high;
fBunchCrossNumberFlag = kTRUE;
}
void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
fVxMin = low;
fVxMax = high;
fVxFlag = kTRUE;
}
void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
fVyMin = low;
fVyMax = high;
fVyFlag = kTRUE;
}
void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
fVzMin = low;
fVzMax = high;
fVzFlag = kTRUE;
}
void AliEventTagCuts::SetEtaLeadingParticleRange(Float_t low, Float_t high) {
fEtaMin = low;
fEtaMax = high;
fEtaFlag = kTRUE;
}
void AliEventTagCuts::SetPhiLeadingParticleRange(Float_t low, Float_t high) {
fPhiMin = low;
fPhiMax = high;
fPhiFlag = kTRUE;
}
void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
fPrimaryVertexZErrorMin = low;
fPrimaryVertexZErrorMax = high;
fPVzErrorFlag = kTRUE;
}
void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
fTriggerMask = trmask;
fTriggerMaskFlag = kTRUE;
}
void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
fTriggerCluster = trcluster;
fTriggerClusterFlag = kTRUE;
}
void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
fMultMin = low;
fMultMax = high;
fMultFlag = kTRUE;
}
void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
fNParticipantsMin = low;
fNParticipantsMax = high;
fNParticipantsFlag = kTRUE;
}
void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
fImpactParamMin = low;
fImpactParamMax = high;
fImpactParamFlag = kTRUE;
}
void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
fPrimaryVertexFlag = flag;
fPVFlag = kTRUE;
}
void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
fZDCNeutron1EnergyMin = low;
fZDCNeutron1EnergyMax = high;
fZDCNeutron1EnergyFlag = kTRUE;
}
void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
fZDCProton1EnergyMin = low;
fZDCProton1EnergyMax = high;
fZDCProton1EnergyFlag = kTRUE;
}
void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
fZDCNeutron2EnergyMin = low;
fZDCNeutron2EnergyMax = high;
fZDCNeutron2EnergyFlag = kTRUE;
}
void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
fZDCProton2EnergyMin = low;
fZDCProton2EnergyMax = high;
fZDCProton2EnergyFlag = kTRUE;
}
void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
fZDCEMEnergyMin = low;
fZDCEMEnergyMax = high;
fZDCEMEnergyFlag = kTRUE;
}
void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
fT0VertexZMin = low;
fT0VertexZMax = high;
fT0VertexZFlag = kTRUE;
}
void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
fPosMultMin = low;
fPosMultMax = high;
fPosMultFlag = kTRUE;
}
void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
fNegMultMin = low;
fNegMultMax = high;
fNegMultFlag = kTRUE;
}
void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
fNeutrMultMin = low;
fNeutrMultMax = high;
fNeutrMultFlag = kTRUE;
}
void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
fNV0sMin = low;
fNV0sMax = high;
fNV0sFlag = kTRUE;
}
void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
fNCascadesMin = low;
fNCascadesMax = high;
fNCascadesFlag = kTRUE;
}
void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
fNKinksMin = low;
fNKinksMax = high;
fNKinksFlag = kTRUE;
}
void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
fNPMDTracksMin = low;
fNPMDTracksMax = high;
fNPMDTracksFlag = kTRUE;
}
void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
fNFMDTracksMin = low;
fNFMDTracksMax = high;
fNFMDTracksFlag = kTRUE;
}
void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
fNPHOSClustersMin = low;
fNPHOSClustersMax = high;
fNPHOSClustersFlag = kTRUE;
}
void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
fNEMCALClustersMin = low;
fNEMCALClustersMax = high;
fNEMCALClustersFlag = kTRUE;
}
void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
fNJetCandidatesMin = low;
fNJetCandidatesMax = high;
fNJetCandidatesFlag = kTRUE;
}
void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
fTopJetEnergyMin = low;
fTopJetEnergyMinFlag = kTRUE;
}
void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
fTopNeutralEnergyMin = low;
fTopNeutralEnergyMinFlag = kTRUE;
}
void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
fNHardPhotonCandidatesMin = low;
fNHardPhotonCandidatesMax = high;
fNHardPhotonCandidatesFlag = kTRUE;
}
void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
fNChargedAbove1GeVMin = low;
fNChargedAbove1GeVMax = high;
fNChargedAbove1GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
fNChargedAbove3GeVMin = low;
fNChargedAbove3GeVMax = high;
fNChargedAbove3GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
fNChargedAbove10GeVMin = low;
fNChargedAbove10GeVMax = high;
fNChargedAbove10GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
fNMuonsAbove1GeVMin = low;
fNMuonsAbove1GeVMax = high;
fNMuonsAbove1GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
fNMuonsAbove3GeVMin = low;
fNMuonsAbove3GeVMax = high;
fNMuonsAbove3GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
fNMuonsAbove10GeVMin = low;
fNMuonsAbove10GeVMax = high;
fNMuonsAbove10GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
fNElectronsAbove1GeVMin = low;
fNElectronsAbove1GeVMax = high;
fNElectronsAbove1GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
fNElectronsAbove3GeVMin = low;
fNElectronsAbove3GeVMax = high;
fNElectronsAbove3GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {
fNElectronsAbove10GeVMin = low;
fNElectronsAbove10GeVMax = high;
fNElectronsAbove10GeVFlag = kTRUE;
}
void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
fNElectronsMin = low;
fNElectronsMax = high;
fNElectronsFlag = kTRUE;
}
void AliEventTagCuts::SetNFWMuonRange(Int_t low, Int_t high) {
fNFWMuonsMin = low;
fNFWMuonsMax = high;
fNFWMuonsFlag = kTRUE;
}
void AliEventTagCuts::SetNFWMatchedMuonRange(Int_t low, Int_t high) {
fNFWMatchedMuonsMin = low;
fNFWMatchedMuonsMax = high;
fNFWMatchedMuonsFlag = kTRUE;
}
void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
fNMuonsMin = low;
fNMuonsMax = high;
fNMuonsFlag = kTRUE;
}
void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
fNPionsMin = low;
fNPionsMax = high;
fNPionsFlag = kTRUE;
}
void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
fNKaonsMin = low;
fNKaonsMax = high;
fNKaonsFlag = kTRUE;
}
void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
fNProtonsMin = low;
fNProtonsMax = high;
fNProtonsFlag = kTRUE;
}
void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
fNLambdasMin = low;
fNLambdasMax = high;
fNLambdasFlag = kTRUE;
}
void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
fNPhotonsMin = low;
fNPhotonsMax = high;
fNPhotonFlag = kTRUE;
}
void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
fNPi0sMin = low;
fNPi0sMax = high;
fNPi0sFlag = kTRUE;
}
void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
fNNeutronsMin = low;
fNNeutronsMax = high;
fNNeutronsFlag = kTRUE;
}
void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {
fNKaon0sMin = low;
fNKaon0sMax = high;
fNKaon0sFlag = kTRUE;
}
void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
fTotalPMin = low;
fTotalPMax = high;
fTotalPFlag = kTRUE;
}
void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
fMeanPtMin = low;
fMeanPtMax = high;
fMeanPtFlag = kTRUE;
}
void AliEventTagCuts::SetTopPtMin(Float_t low) {
fTopPtMin = low;
fTopPtMinFlag = kTRUE;
}
void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {
fTotalNeutralPMin =low ;
fTotalNeutralPMax = high;
fTotalNeutralPFlag = kTRUE;
}
void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {
fMeanNeutralPtMin = low;
fMeanNeutralPtMax = high;
fMeanNeutralPtFlag = kTRUE;
}
void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {
fTopNeutralPtMin = low;
fTopNeutralPtMinFlag = kTRUE;
}
void AliEventTagCuts::SetEventPlaneAngleRange(Float_t low, Float_t high) {
fEventPlaneAngleMin = low;
fEventPlaneAngleMax = high;
fEventPlaneAngleFlag = kTRUE;
}
void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
fHBTRadiiMin = low;
fHBTRadiiMax = high;
fHBTRadiiFlag = kTRUE;
}
void AliEventTagCuts::AddRequiredFiredTriggerClass(TString aclass)
{
fFiredTriggerClass += " ";
fFiredTriggerClass += aclass;
fFiredTriggerClassFlag = kTRUE;
}
void AliEventTagCuts::ResetTriggerClasses()
{
fFiredTriggerClassFlag = kFALSE;
fFiredTriggerClass = "";
}
void AliEventTagCuts::InitializeTriggerClasses(TString aclass)
{
fActiveTriggerClasses = aclass;
}
Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
if(fEventTypeFlag)
if(EvTag->GetEventType() != fEventType)
return kFALSE;
if(fNumberOfFiredChipsLayer1Flag)
if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
return kFALSE;
if(fNumberOfFiredChipsLayer2Flag)
if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
return kFALSE;
if(fNumberOfSPDTrackletsFlag)
if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
return kFALSE;
if(fPeriodNumberFlag)
if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
return kFALSE;
if(fOrbitNumberFlag)
if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
return kFALSE;
if(fBunchCrossNumberFlag)
if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
return kFALSE;
if(fEtaFlag)
if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
return kFALSE;
if(fPhiFlag)
if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
return kFALSE;
if(fVzFlag)
if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
return kFALSE;
if(fVyFlag)
if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
return kFALSE;
if(fVxFlag)
if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
return kFALSE;
if(fNParticipantsFlag)
if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
return kFALSE;
if(fImpactParamFlag)
if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
return kFALSE;
if(fPVFlag)
if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
return kFALSE;
if(fPVzErrorFlag)
if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
return kFALSE;
if(fTriggerMaskFlag)
if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
return kFALSE;
if(fTriggerClusterFlag)
if((EvTag->GetTriggerCluster() != fTriggerCluster))
return kFALSE;
if(fZDCNeutron1EnergyFlag)
if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
return kFALSE;
if(fZDCProton1EnergyFlag)
if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
return kFALSE;
if(fZDCNeutron2EnergyFlag)
if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
return kFALSE;
if(fZDCProton2EnergyFlag)
if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
return kFALSE;
if(fZDCEMEnergyFlag)
if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
return kFALSE;
if(fT0VertexZFlag)
if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
return kFALSE;
if(fMultFlag)
if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
return kFALSE;
if(fPosMultFlag)
if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
return kFALSE;
if(fNegMultFlag)
if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
return kFALSE;
if(fNeutrMultFlag)
if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
return kFALSE;
if(fNV0sFlag)
if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
return kFALSE;
if(fNCascadesFlag)
if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
return kFALSE;
if(fNKinksFlag)
if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
return kFALSE;
if(fNPMDTracksFlag)
if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
return kFALSE;
if(fNFMDTracksFlag)
if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
return kFALSE;
if(fNPHOSClustersFlag)
if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
return kFALSE;
if(fNEMCALClustersFlag)
if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
return kFALSE;
if(fNJetCandidatesFlag)
if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
return kFALSE;
if(fTopJetEnergyMinFlag)
if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
return kFALSE;
if(fNHardPhotonCandidatesFlag)
if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
return kFALSE;
if(fTopNeutralEnergyMinFlag)
if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
return kFALSE;
if(fNChargedAbove1GeVFlag)
if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
return kFALSE;
if(fNChargedAbove3GeVFlag)
if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
return kFALSE;
if(fNChargedAbove10GeVFlag)
if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
return kFALSE;
if(fNMuonsAbove1GeVFlag)
if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
return kFALSE;
if(fNMuonsAbove3GeVFlag)
if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
return kFALSE;
if(fNMuonsAbove10GeVFlag)
if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
return kFALSE;
if(fNElectronsAbove1GeVFlag)
if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
return kFALSE;
if(fNElectronsAbove3GeVFlag)
if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
return kFALSE;
if(fNElectronsAbove10GeVFlag)
if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
return kFALSE;
if(fNElectronsFlag)
if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
return kFALSE;
if(fNFWMuonsFlag)
if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
return kFALSE;
if(fNFWMatchedMuonsFlag)
if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
return kFALSE;
if(fNMuonsFlag)
if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
return kFALSE;
if(fNPionsFlag)
if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
return kFALSE;
if(fNKaonsFlag)
if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
return kFALSE;
if(fNProtonsFlag)
if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
return kFALSE;
if(fNLambdasFlag)
if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
return kFALSE;
if(fNPhotonFlag)
if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
return kFALSE;
if(fNPi0sFlag)
if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
return kFALSE;
if(fNNeutronsFlag)
if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
return kFALSE;
if(fNKaon0sFlag)
if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
return kFALSE;
if(fTotalPFlag)
if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
return kFALSE;
if(fMeanPtFlag)
if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
return kFALSE;
if(fTopPtMinFlag)
if((EvTag->GetMaxPt() < fTopPtMin))
return kFALSE;
if(fTotalNeutralPFlag)
if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
return kFALSE;
if(fMeanNeutralPtFlag)
if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
return kFALSE;
if(fTopNeutralPtMinFlag)
if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
return kFALSE;
if(fEventPlaneAngleFlag)
if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
return kFALSE;
if(fHBTRadiiFlag)
if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
return kFALSE;
if (fFiredTriggerClassFlag) {
if (fActiveTriggerClasses.Length() == 0) {
AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
}
else {
TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
Bool_t tTrig = kFALSE;
for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
tTrig = kTRUE;
tClasses->Delete();
delete tClasses;
if (!tTrig)
return kFALSE;
}
}
return kTRUE;
}
Bool_t AliEventTagCuts::IsAccepted(const AliEventTag *EvTag) const
{
if(fEventTypeFlag)
if(EvTag->GetEventType() != fEventType)
return kFALSE;
if(fNumberOfFiredChipsLayer1Flag)
if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
return kFALSE;
if(fNumberOfFiredChipsLayer2Flag)
if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
return kFALSE;
if(fNumberOfSPDTrackletsFlag)
if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
return kFALSE;
if(fPeriodNumberFlag)
if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
return kFALSE;
if(fOrbitNumberFlag)
if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
return kFALSE;
if(fBunchCrossNumberFlag)
if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
return kFALSE;
if(fEtaFlag)
if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
return kFALSE;
if(fPhiFlag)
if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
return kFALSE;
if(fVzFlag)
if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
return kFALSE;
if(fVyFlag)
if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
return kFALSE;
if(fVxFlag)
if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
return kFALSE;
if(fNParticipantsFlag)
if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
return kFALSE;
if(fImpactParamFlag)
if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
return kFALSE;
if(fPVFlag)
if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
return kFALSE;
if(fPVzErrorFlag)
if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
return kFALSE;
if(fTriggerMaskFlag)
if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
return kFALSE;
if(fTriggerClusterFlag)
if((EvTag->GetTriggerCluster() != fTriggerCluster))
return kFALSE;
if(fZDCNeutron1EnergyFlag)
if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
return kFALSE;
if(fZDCProton1EnergyFlag)
if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
return kFALSE;
if(fZDCNeutron2EnergyFlag)
if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
return kFALSE;
if(fZDCProton2EnergyFlag)
if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
return kFALSE;
if(fZDCEMEnergyFlag)
if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
return kFALSE;
if(fT0VertexZFlag)
if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
return kFALSE;
if(fMultFlag)
if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
return kFALSE;
if(fPosMultFlag)
if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
return kFALSE;
if(fNegMultFlag)
if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
return kFALSE;
if(fNeutrMultFlag)
if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
return kFALSE;
if(fNV0sFlag)
if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
return kFALSE;
if(fNCascadesFlag)
if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
return kFALSE;
if(fNKinksFlag)
if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
return kFALSE;
if(fNPMDTracksFlag)
if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
return kFALSE;
if(fNFMDTracksFlag)
if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
return kFALSE;
if(fNPHOSClustersFlag)
if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
return kFALSE;
if(fNEMCALClustersFlag)
if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
return kFALSE;
if(fNJetCandidatesFlag)
if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
return kFALSE;
if(fTopJetEnergyMinFlag)
if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
return kFALSE;
if(fNHardPhotonCandidatesFlag)
if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
return kFALSE;
if(fTopNeutralEnergyMinFlag)
if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
return kFALSE;
if(fNChargedAbove1GeVFlag)
if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
return kFALSE;
if(fNChargedAbove3GeVFlag)
if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
return kFALSE;
if(fNChargedAbove10GeVFlag)
if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
return kFALSE;
if(fNMuonsAbove1GeVFlag)
if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
return kFALSE;
if(fNMuonsAbove3GeVFlag)
if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
return kFALSE;
if(fNMuonsAbove10GeVFlag)
if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
return kFALSE;
if(fNElectronsAbove1GeVFlag)
if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
return kFALSE;
if(fNElectronsAbove3GeVFlag)
if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
return kFALSE;
if(fNElectronsAbove10GeVFlag)
if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
return kFALSE;
if(fNElectronsFlag)
if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
return kFALSE;
if(fNFWMuonsFlag)
if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
return kFALSE;
if(fNFWMatchedMuonsFlag)
if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
return kFALSE;
if(fNMuonsFlag)
if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
return kFALSE;
if(fNPionsFlag)
if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
return kFALSE;
if(fNKaonsFlag)
if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
return kFALSE;
if(fNProtonsFlag)
if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
return kFALSE;
if(fNLambdasFlag)
if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
return kFALSE;
if(fNPhotonFlag)
if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
return kFALSE;
if(fNPi0sFlag)
if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
return kFALSE;
if(fNNeutronsFlag)
if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
return kFALSE;
if(fNKaon0sFlag)
if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
return kFALSE;
if(fTotalPFlag)
if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
return kFALSE;
if(fMeanPtFlag)
if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
return kFALSE;
if(fTopPtMinFlag)
if((EvTag->GetMaxPt() < fTopPtMin))
return kFALSE;
if(fTotalNeutralPFlag)
if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
return kFALSE;
if(fMeanNeutralPtFlag)
if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
return kFALSE;
if(fTopNeutralPtMinFlag)
if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
return kFALSE;
if(fEventPlaneAngleFlag)
if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
return kFALSE;
if(fHBTRadiiFlag)
if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
return kFALSE;
if (fFiredTriggerClassFlag) {
if (fActiveTriggerClasses.Length() == 0) {
AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
}
else {
TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
Bool_t tTrig = kFALSE;
for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
tTrig = kTRUE;
tClasses->Delete();
delete tClasses;
if (!tTrig)
return kFALSE;
}
}
return kTRUE;
}