Go to the documentation of this file.00001 #ifndef FORIA_SIMPLETRUTHSELECTION_HH
00002 #define FORIA_SIMPLETRUTHSELECTION_HH
00003
00004 #include "ForIA/TruthParticle.hh"
00005 #include "ForIA/AnalysisTools/FourVectorSelection.hh"
00006
00007 namespace ForIA {
00008
00009 class SimpleTruthSelection: public FourVectorSelection{
00010
00011 public:
00012
00013 SimpleTruthSelection();
00014
00015 enum charge{ANY, NEUTRAL, CHARGED, POSITIVE, NEGATIVE};
00016
00017 const TruthParticleVector &particles()const;
00018 const TruthParticleVector &rejectedParticles()const;
00019
00020 bool setEMin(double e);
00021 bool setETMin(double et);
00022 bool setPTMin(double pt);
00023 bool setEtaMin(double eta);
00024 bool setEtaMax(double eta);
00025 bool setCharged(charge chrg);
00026 bool setChargedETMin(double et);
00027 bool setNeutralETMin(double et);
00028 bool setChargedPMin(double p);
00029 bool setNeutralPMin(double p);
00030 bool setSpeciesDepETMin(double etaMin, double etaMax, double etCharged, double etNeutral);
00031 bool setSpeciesDepPMin(double etaMin, double etaMax, double pCharged, double pNeutral);
00032 bool setBarcodeMax(int bcode);
00033 bool setIsPrimary(bool isPrimary);
00034 bool setPdgId(int pdgID);
00035
00036 private:
00037
00038 void fillVectors() const;
00039
00040 mutable TruthParticleVector m_passedParticles;
00041 mutable TruthParticleVector m_rejectedParticles;
00042
00043 double m_eMin;
00044 double m_etMin;
00045 double m_ptMin;
00046 double m_etaMin;
00047 double m_etaMax;
00048 double m_chargedEtMin;
00049 double m_neutralEtMin;
00050 double m_chargedPMin;
00051 double m_neutralPMin;
00052 double m_speciesDepEtaMin;
00053 double m_speciesDepEtaMax;
00054 charge m_charge;
00055 int m_barcodeMax;
00056 bool m_isPrimary;
00057 int m_pdgID;
00058
00059 bool m_haveSetPT;
00060 bool m_haveSetE;
00061 bool m_haveSetET;
00062 bool m_haveSetEta;
00063 bool m_haveSetCharged;
00064 bool m_haveSetChargedET;
00065 bool m_haveSetNeutralET;
00066 bool m_haveSetChargedP;
00067 bool m_haveSetNeutralP;
00068 bool m_haveSetSpeciesDepSel;
00069 bool m_haveSetBarcode;
00070 bool m_haveSetIsPrimary;
00071 bool m_haveSetID;
00072
00073 };
00074 }
00075
00076 #endif