FairRoot/PandaRoot
PndEvtFilter.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndEvtFilter header file -----
3 // -------------------------------------------------------------------------
4 
5 
20 #ifndef PndEvtFilter_H
21 #define PndEvtFilter_H
22 
23 
24 #include "Rtypes.h" // for Bool_t, etc
25 #include "TClonesArray.h"
26 #include <iostream>
27 #include "TParticle.h"
28 #include "RhoCandidate.h"
29 #include "RhoCandList.h"
30 #include "TLorentzVector.h"
31 #include "FairEvtFilter.h"
32 
33 std::ostream& operator <<(std::ostream& os, const std::set<Int_t> & set);
34 
35 
37 {
38 
39 public:
40 
42  PndEvtFilter();
43 
44 
46  PndEvtFilter(const char* name, const char* title="PndEvtFilter");
47 
48 
50  virtual ~PndEvtFilter();
51 
52 
53  //Initialize the filter if needed
54  Bool_t Init() { return kTRUE;}
55 
56 
57  // useful for event filtering on invariant masses
58  // returns a list of particles
59  // which have the same charge as charge(inPdgCode)
60  // mass hypothesis is set to m(inPdgCode)
61  // for better performance pdgCodeCharge can optionally be specified
62  // It should be the same as the charge corresponding to inPdgCode
63  Bool_t FillList ( RhoCandList& rhoOutList, Int_t inPdgCode, Double_t pdgCodeCharge = kNoChargeSpecified );
64 
65  // returning kTRUE indicates that the event satisfies the filter conditions,
66  // kFALSE otherwise.
67  virtual Bool_t EventMatches(Int_t evtNr)=0;
68 
69  virtual Bool_t FilterActive()=0;
70 
71 
72 private:
73  PndEvtFilter(const PndEvtFilter& G);
74  PndEvtFilter& operator= (const PndEvtFilter&) {return *this;}
75 
76 
77 
79 };
80 
81 #endif
82 
83 
ClassDef(PndEvtFilter, 1)
Bool_t FillList(RhoCandList &rhoOutList, Int_t inPdgCode, Double_t pdgCodeCharge=kNoChargeSpecified)
Double_t
static const Double_t kNoChargeSpecified
TString name
Bool_t Init()
Definition: PndEvtFilter.h:54
PndEvtFilter & operator=(const PndEvtFilter &)
Definition: PndEvtFilter.h:74
virtual Bool_t FilterActive()=0
virtual Bool_t EventMatches(Int_t evtNr)=0
virtual ~PndEvtFilter()