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