#ifndef ALIFEMTOQAEVENTCUT_H
#define ALIFEMTOQAEVENTCUT_H
#include "AliFemtoEventCut.h"
class AliFemtoQAEventCut : public AliFemtoEventCut {
public:
AliFemtoQAEventCut();
AliFemtoQAEventCut(AliFemtoQAEventCut& c);
virtual ~AliFemtoQAEventCut();
AliFemtoQAEventCut& operator=(AliFemtoQAEventCut& c);
void SetEventMult(const int& lo,const int& hi);
void SetEventMultQASwitch(const bool Switch);
void SetEventMultQAExclusionZone(const int& lo, const int& hi);
void SetVertZPos(const float& lo, const float& hi);
void SetEventZPosQASwitch(const bool Switch);
void SetEventZPosQAExclusionZone(const float& lo, const float& hi);
void SetAcceptBadVertex(bool b);
int NEventsPassed() const;
int NEventsFailed() const;
bool GetAcceptBadVertex();
virtual AliFemtoString Report();
virtual bool Pass(const AliFemtoEvent* event);
AliFemtoQAEventCut* Clone();
private:
int fEventMult[2];
float fVertZPos[2];
bool fAcceptBadVertex;
long fNEventsPassed;
long fNEventsFailed;
int fHighOrLowSwitch;
bool fEventMultQASwitch;
int fEventMultQAExclusionZone[2];
bool fEventZPosQASwitch;
float fEventZPosQAExclusionZone[2];
#ifdef __ROOT__
ClassDef(AliFemtoQAEventCut, 1)
#endif
};
inline void AliFemtoQAEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;}
inline void AliFemtoQAEventCut::SetEventMultQASwitch(const bool Switch) { fEventMultQASwitch = Switch; }
inline void AliFemtoQAEventCut::SetEventMultQAExclusionZone(const int& lo, const int& hi) { fEventMultQAExclusionZone[0]=lo; fEventMultQAExclusionZone[1]=hi; }
inline void AliFemtoQAEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;}
inline void AliFemtoQAEventCut::SetEventZPosQASwitch(const bool Switch) { fEventZPosQASwitch = Switch; }
inline void AliFemtoQAEventCut::SetEventZPosQAExclusionZone(const float& lo, const float& hi) { fEventZPosQAExclusionZone[0]=lo; fEventZPosQAExclusionZone[1]=hi; }
inline int AliFemtoQAEventCut::NEventsPassed() const {return fNEventsPassed;}
inline int AliFemtoQAEventCut::NEventsFailed() const {return fNEventsFailed;}
inline AliFemtoQAEventCut* AliFemtoQAEventCut::Clone() { AliFemtoQAEventCut* c = new AliFemtoQAEventCut(*this); return c;}
inline AliFemtoQAEventCut::AliFemtoQAEventCut(AliFemtoQAEventCut& c) : AliFemtoEventCut(c), fAcceptBadVertex(kFALSE), fNEventsPassed(0), fNEventsFailed(0), fHighOrLowSwitch(0), fEventMultQASwitch(kFALSE), fEventZPosQASwitch(kFALSE) {
fEventMult[0] = c.fEventMult[0];
fEventMult[1] = c.fEventMult[1];
fVertZPos[0] = c.fVertZPos[0];
fVertZPos[1] = c.fVertZPos[1];
fHighOrLowSwitch = c.fHighOrLowSwitch;
fEventMultQASwitch = c.fEventMultQASwitch;
fEventZPosQASwitch = c.fEventZPosQASwitch;
fEventMultQAExclusionZone[0] = c.fEventMultQAExclusionZone[0];
fEventMultQAExclusionZone[1] = c.fEventMultQAExclusionZone[1];
fEventZPosQAExclusionZone[0] = c.fEventZPosQAExclusionZone[0];
fEventZPosQAExclusionZone[1] = c.fEventZPosQAExclusionZone[1];
}
#endif