]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.cxx
Accept multiplicities at the range edges
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoBasicEventCut.cxx
CommitLineData
d0e92d9a 1////////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoBasicEventCut - the basic cut for events. //
4// Only cuts on event multiplicity and z-vertex position //
5// //
6////////////////////////////////////////////////////////////////////////////////
7
8#include "AliFemtoBasicEventCut.h"
ea77036b 9//#include <cstdio>
d0e92d9a 10
11#ifdef __ROOT__
12ClassImp(AliFemtoBasicEventCut)
13#endif
14
15AliFemtoBasicEventCut::AliFemtoBasicEventCut() :
63a5982a 16 AliFemtoEventCut(),
17 fEventMult(),
18 fVertZPos(),
19 fAcceptBadVertex(false),
20 fNEventsPassed(0),
21 fNEventsFailed(0)
d0e92d9a 22{
ea77036b 23 // Default constructor
63a5982a 24 fEventMult[0] = 0;
25 fEventMult[1] = 100000;
26 fVertZPos[0] = -100.0;
27 fVertZPos[1] = 100.0;
d0e92d9a 28}
29//------------------------------
ea77036b 30AliFemtoBasicEventCut::~AliFemtoBasicEventCut(){
31 // Default destructor
32}
d0e92d9a 33//------------------------------
34bool AliFemtoBasicEventCut::Pass(const AliFemtoEvent* event){
ea77036b 35 // Pass events if they fall within the multiplicity and z-vertex
36 // position range. Fail otherwise
d0e92d9a 37 int mult = event->NumberOfTracks();
ea77036b 38 double vertexZPos = event->PrimVertPos().z();
d0e92d9a 39 cout << "AliFemtoBasicEventCut:: mult: " << fEventMult[0] << " < " << mult << " < " << fEventMult[1] << endl;
ea77036b 40 cout << "AliFemtoBasicEventCut:: VertexZPos: " << fVertZPos[0] << " < " << vertexZPos << " < " << fVertZPos[1] << endl;
475f6859 41 cout << "AliFemtoBasicEventCut:: VertexZErr: " << event->PrimVertCov()[4] << endl;
d0e92d9a 42 bool goodEvent =
d58bc7b2 43 ((mult >= fEventMult[0]) &&
44 (mult <= fEventMult[1]) &&
ea77036b 45 (vertexZPos > fVertZPos[0]) &&
63a5982a 46 (vertexZPos < fVertZPos[1]) &&
47 (fAcceptBadVertex || (event->PrimVertCov()[4] > -1000.0)));
d0e92d9a 48 goodEvent ? fNEventsPassed++ : fNEventsFailed++ ;
49 cout << "AliFemtoBasicEventCut:: return : " << goodEvent << endl;
50 return (goodEvent);
51}
52//------------------------------
53AliFemtoString AliFemtoBasicEventCut::Report(){
ea77036b 54 // Prepare report
55 string stemp;
56 char ctemp[100];
57 sprintf(ctemp,"\nMultiplicity:\t %d-%d",fEventMult[0],fEventMult[1]);
58 stemp = ctemp;
59 sprintf(ctemp,"\nVertex Z-position:\t %E-%E",fVertZPos[0],fVertZPos[1]);
60 stemp += ctemp;
61 sprintf(ctemp,"\nNumber of events which passed:\t%ld Number which failed:\t%ld",fNEventsPassed,fNEventsFailed);
62 stemp += ctemp;
63 AliFemtoString returnThis = stemp;
d0e92d9a 64 return returnThis;
65}
63a5982a 66void AliFemtoBasicEventCut::SetAcceptBadVertex(bool b)
67{
68 fAcceptBadVertex = b;
69}
70bool AliFemtoBasicEventCut::GetAcceptBadVertex()
71{
72 return fAcceptBadVertex;
73}