]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutPrimaryVertex.h
Added first version of cut monitoring + style format applied
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutPrimaryVertex.h
1 //
2 // Class AliRsnCutPrimaryVertex
3 //
4 // This cut implementation checks the quality of event primary vertex.
5 // It currently works only with ESD events (not AOD).
6 //
7 // authors: Martin Vala (martin.vala@cern.ch)
8 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
9 //
10
11 #ifndef ALIRSNCUTPRIMARYVERTEX_H
12 #define ALIRSNCUTPRIMARYVERTEX_H
13
14 #include "AliRsnCut.h"
15
16 class AliVVertex;
17
18 class AliRsnCutPrimaryVertex : public AliRsnCut {
19 public:
20
21    AliRsnCutPrimaryVertex(const char *name = "cutPrimVert", Double_t maxVz = 10.0, Int_t minContributors = 1, Bool_t acceptTPC = kFALSE);
22    virtual ~AliRsnCutPrimaryVertex() {;};
23
24    void           SetCheckPileUp(Bool_t doit = kTRUE) {fCheckPileUp = doit;}
25    virtual Bool_t IsSelected(TObject *object);
26    virtual void   Print(const Option_t *option = "") const;
27
28 protected:
29
30    Bool_t CheckVertex(AliVVertex *vert);
31
32    Bool_t fAcceptTPC;   // if kTRUE, the TPC primary vertexes are accepted
33    Bool_t fCheckPileUp; // check and reject pileupped events (pp)
34
35    ClassDef(AliRsnCutPrimaryVertex, 1)
36 };
37
38 //__________________________________________________________________________________________________
39 inline Bool_t AliRsnCutPrimaryVertex::CheckVertex(AliVVertex *vertex)
40 {
41 //
42 // Checks if a candidate primary vertex is good,
43 // which is true if it is not null and has at
44 // least one contributor
45 //
46
47    if (!vertex) return kFALSE;
48    if (vertex->GetNContributors() < 1) return kFALSE;
49    return kTRUE;
50 }
51
52 #endif