ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoSphericityEventCut - the basic cut for events.                     //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

#ifndef AliFemtoSphericityEventCUT_H
#define AliFemtoSphericityEventCUT_H

#include "AliFemtoEventCut.h"

class AliFemtoSphericityEventCut : public AliFemtoEventCut {

public:

  AliFemtoSphericityEventCut();
  AliFemtoSphericityEventCut(AliFemtoSphericityEventCut& c);
  virtual ~AliFemtoSphericityEventCut();
  AliFemtoSphericityEventCut& operator=(AliFemtoSphericityEventCut& c);

  void SetEventMult(const int& lo,const int& hi);
  void SetVertZPos(const float& lo, const float& hi);
  void SetAcceptBadVertex(bool b);
  int NEventsPassed() const;
  int NEventsFailed() const;
  bool GetAcceptBadVertex();
  bool GetAcceptOnlyPhysics();
  void SetStMin(double stMin );
  void SetStMax(double stMax );
  void SetTriggerSelection(int trig);

  void SetEPVZERO(const float& lo, const float& hi);

  virtual AliFemtoString Report();
  virtual bool Pass(const AliFemtoEvent* event);

  AliFemtoSphericityEventCut* Clone();

private:   // here are the quantities I want to cut on...

  int fEventMult[2];      // range of multiplicity
  float fVertZPos[2];     // range of z-position of vertex
  float fPsiEP[2];        // range of vzero ep angle
  bool fAcceptBadVertex;  // Set to true to accept events with bad vertex
  long fNEventsPassed;    // Number of events checked by this cut that passed
  long fNEventsFailed;    // Number of events checked by this cut that failed
  bool fAcceptOnlyPhysics;// Accept only physics events
  double fStCutMin;       // transverse sphericity minimum
  double fStCutMax;       // transverse sphericity maximum
  int  fSelectTrigger;    // If set, only given trigger will be selected

#ifdef __ROOT__
  ClassDef(AliFemtoSphericityEventCut, 1)
#endif

};

inline void AliFemtoSphericityEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;}
inline void AliFemtoSphericityEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;}
inline void AliFemtoSphericityEventCut::SetEPVZERO(const float& lo, const float& hi){fPsiEP[0]=lo; fPsiEP[1]=hi;}
inline int  AliFemtoSphericityEventCut::NEventsPassed() const {return fNEventsPassed;}
inline int  AliFemtoSphericityEventCut::NEventsFailed() const {return fNEventsFailed;}
inline void  AliFemtoSphericityEventCut::SetStMin(double stMin ) {fStCutMin=stMin;}
inline void  AliFemtoSphericityEventCut::SetStMax(double stMax ) {fStCutMax=stMax;}
inline void AliFemtoSphericityEventCut::SetTriggerSelection(int trig) { fSelectTrigger = trig; }
inline AliFemtoSphericityEventCut* AliFemtoSphericityEventCut::Clone() { AliFemtoSphericityEventCut* c = new AliFemtoSphericityEventCut(*this); return c;}
inline AliFemtoSphericityEventCut::AliFemtoSphericityEventCut(AliFemtoSphericityEventCut& c) : AliFemtoEventCut(c), fAcceptBadVertex(false), fNEventsPassed(0), fNEventsFailed(0), fAcceptOnlyPhysics(false),fStCutMin(0),fStCutMax(1),  fSelectTrigger(0) {
  fEventMult[0] = c.fEventMult[0];
  fEventMult[1] = c.fEventMult[1];
  fVertZPos[0] = c.fVertZPos[0];
  fVertZPos[1] = c.fVertZPos[1];
  fPsiEP[0] = c.fPsiEP[0];
  fPsiEP[1] = c.fPsiEP[1];
  fStCutMin = c.fStCutMin;
  fStCutMax = c.fStCutMax;

}

inline AliFemtoSphericityEventCut& AliFemtoSphericityEventCut::operator=(AliFemtoSphericityEventCut& c) {   
  if (this != &c) {
    AliFemtoEventCut::operator=(c);
    fEventMult[0] = c.fEventMult[0];
    fEventMult[1] = c.fEventMult[1];
    fVertZPos[0] = c.fVertZPos[0];
    fVertZPos[1] = c.fVertZPos[1];
    fPsiEP[0] = c.fPsiEP[0];
    fPsiEP[1] = c.fPsiEP[1];
    fStCutMin = c.fStCutMin;
    fStCutMax = c.fStCutMax;
  }

  return *this;
}


#endif
 AliFemtoSphericityEventCut.h:1
 AliFemtoSphericityEventCut.h:2
 AliFemtoSphericityEventCut.h:3
 AliFemtoSphericityEventCut.h:4
 AliFemtoSphericityEventCut.h:5
 AliFemtoSphericityEventCut.h:6
 AliFemtoSphericityEventCut.h:7
 AliFemtoSphericityEventCut.h:8
 AliFemtoSphericityEventCut.h:9
 AliFemtoSphericityEventCut.h:10
 AliFemtoSphericityEventCut.h:11
 AliFemtoSphericityEventCut.h:12
 AliFemtoSphericityEventCut.h:13
 AliFemtoSphericityEventCut.h:14
 AliFemtoSphericityEventCut.h:15
 AliFemtoSphericityEventCut.h:16
 AliFemtoSphericityEventCut.h:17
 AliFemtoSphericityEventCut.h:18
 AliFemtoSphericityEventCut.h:19
 AliFemtoSphericityEventCut.h:20
 AliFemtoSphericityEventCut.h:21
 AliFemtoSphericityEventCut.h:22
 AliFemtoSphericityEventCut.h:23
 AliFemtoSphericityEventCut.h:24
 AliFemtoSphericityEventCut.h:25
 AliFemtoSphericityEventCut.h:26
 AliFemtoSphericityEventCut.h:27
 AliFemtoSphericityEventCut.h:28
 AliFemtoSphericityEventCut.h:29
 AliFemtoSphericityEventCut.h:30
 AliFemtoSphericityEventCut.h:31
 AliFemtoSphericityEventCut.h:32
 AliFemtoSphericityEventCut.h:33
 AliFemtoSphericityEventCut.h:34
 AliFemtoSphericityEventCut.h:35
 AliFemtoSphericityEventCut.h:36
 AliFemtoSphericityEventCut.h:37
 AliFemtoSphericityEventCut.h:38
 AliFemtoSphericityEventCut.h:39
 AliFemtoSphericityEventCut.h:40
 AliFemtoSphericityEventCut.h:41
 AliFemtoSphericityEventCut.h:42
 AliFemtoSphericityEventCut.h:43
 AliFemtoSphericityEventCut.h:44
 AliFemtoSphericityEventCut.h:45
 AliFemtoSphericityEventCut.h:46
 AliFemtoSphericityEventCut.h:47
 AliFemtoSphericityEventCut.h:48
 AliFemtoSphericityEventCut.h:49
 AliFemtoSphericityEventCut.h:50
 AliFemtoSphericityEventCut.h:51
 AliFemtoSphericityEventCut.h:52
 AliFemtoSphericityEventCut.h:53
 AliFemtoSphericityEventCut.h:54
 AliFemtoSphericityEventCut.h:55
 AliFemtoSphericityEventCut.h:56
 AliFemtoSphericityEventCut.h:57
 AliFemtoSphericityEventCut.h:58
 AliFemtoSphericityEventCut.h:59
 AliFemtoSphericityEventCut.h:60
 AliFemtoSphericityEventCut.h:61
 AliFemtoSphericityEventCut.h:62
 AliFemtoSphericityEventCut.h:63
 AliFemtoSphericityEventCut.h:64
 AliFemtoSphericityEventCut.h:65
 AliFemtoSphericityEventCut.h:66
 AliFemtoSphericityEventCut.h:67
 AliFemtoSphericityEventCut.h:68
 AliFemtoSphericityEventCut.h:69
 AliFemtoSphericityEventCut.h:70
 AliFemtoSphericityEventCut.h:71
 AliFemtoSphericityEventCut.h:72
 AliFemtoSphericityEventCut.h:73
 AliFemtoSphericityEventCut.h:74
 AliFemtoSphericityEventCut.h:75
 AliFemtoSphericityEventCut.h:76
 AliFemtoSphericityEventCut.h:77
 AliFemtoSphericityEventCut.h:78
 AliFemtoSphericityEventCut.h:79
 AliFemtoSphericityEventCut.h:80
 AliFemtoSphericityEventCut.h:81
 AliFemtoSphericityEventCut.h:82
 AliFemtoSphericityEventCut.h:83
 AliFemtoSphericityEventCut.h:84
 AliFemtoSphericityEventCut.h:85
 AliFemtoSphericityEventCut.h:86
 AliFemtoSphericityEventCut.h:87
 AliFemtoSphericityEventCut.h:88
 AliFemtoSphericityEventCut.h:89
 AliFemtoSphericityEventCut.h:90
 AliFemtoSphericityEventCut.h:91
 AliFemtoSphericityEventCut.h:92
 AliFemtoSphericityEventCut.h:93
 AliFemtoSphericityEventCut.h:94
 AliFemtoSphericityEventCut.h:95
 AliFemtoSphericityEventCut.h:96