2 // Class AliRsnCutESDPrimary
4 // General implementation of a single cut strategy, which can be:
5 // - a value contained in a given interval [--> IsBetween() ]
6 // - a value equal to a given reference [--> MatchesValue()]
8 // In all cases, the reference value(s) is (are) given as data members
9 // and each kind of cut requires a given value type (Int, UInt, Double),
10 // but the cut check procedure is then automatized and chosen thanks to
11 // an enumeration of the implemented cut types.
12 // At the end, the user (or any other point which uses this object) has
13 // to use the method IsSelected() to check if this cut has been passed.
15 // authors: Martin Vala (martin.vala@cern.ch)
16 // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
19 #include "AliRsnDaughter.h"
20 #include "AliRsnCutESDPrimary.h"
22 ClassImp(AliRsnCutESDPrimary)
24 //_________________________________________________________________________________________________
25 AliRsnCutESDPrimary::AliRsnCutESDPrimary() :
30 // Default constructor.
34 //_________________________________________________________________________________________________
35 AliRsnCutESDPrimary::AliRsnCutESDPrimary
37 AliRsnCut(name, 0.0, 0.0),
45 //_________________________________________________________________________________________________
46 Bool_t AliRsnCutESDPrimary::IsSelected(ETarget tgt, AliRsnDaughter * const track)
53 if (tgt != AliRsnCut::kParticle) {
54 AliError(Form("Wrong target. Skipping cut", GetName()));
58 // retrieve the TPC signal
59 AliVParticle *vpart = track->GetRef();
60 AliESDtrack *esdTrack = dynamic_cast<AliESDtrack*>(vpart);
62 AliError("ESD information unavailable");
67 return fCuts.IsSelected(esdTrack);
70 //_________________________________________________________________________________________________
71 Bool_t AliRsnCutESDPrimary::IsSelected(ETarget /*tgt*/, AliRsnPairParticle* /*pair*/)
77 AliWarning("Cannot apply this cut to pairs");
81 //_________________________________________________________________________________________________
82 Bool_t AliRsnCutESDPrimary::IsSelected(ETarget /*tgt*/, AliRsnEvent* /*event*/)
88 AliWarning("Cannot apply this cut to events");
92 //_________________________________________________________________________________________________
93 Bool_t AliRsnCutESDPrimary::IsSelected(ETarget /*tgt*/, AliRsnEvent* /*ev1*/, AliRsnEvent* /*ev2*/)
99 AliWarning("Cannot apply this cut to event mixing");