virtual ~AliCFParticleGenCuts() { };
virtual Bool_t IsSelected(TObject* obj) ;
Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
- virtual void SetEvtInfo(TObject* mcEvent) ;
+ virtual void SetMCEventInfo(const TObject* mcEvent) ;
void SetAODMC(Bool_t flag) {fIsAODMC=flag;}
Bool_t IsPrimaryCharged(AliVParticle *mcPart);
void SetRequireIsNeutral () {fRequireIsNeutral =kTRUE; fRequireIsCharged =kFALSE;}
void SetRequireIsPrimary () {fRequireIsPrimary =kTRUE; fRequireIsSecondary=kFALSE;}
void SetRequireIsSecondary () {fRequireIsSecondary=kTRUE; fRequireIsPrimary =kFALSE;}
- void SetRequirePdgCode (Int_t pdg) {fRequirePdgCode=kTRUE; fPdgCode=pdg;}
+ void SetRequirePdgCode (Int_t pdg, Bool_t useAbsolute=kFALSE) {
+ fRequirePdgCode=kTRUE;
+ fPdgCode=pdg;
+ fRequireAbsolutePdg=useAbsolute;
+ }
void SetProdVtxRangeX (Double32_t xmin, Double32_t xmax) {fProdVtxXMin =xmin; fProdVtxXMax =xmax;}
void SetProdVtxRangeY (Double32_t ymin, Double32_t ymax) {fProdVtxYMin =ymin; fProdVtxYMax =ymax;}
void SetProdVtxRangeZ (Double32_t zmin, Double32_t zmax) {fProdVtxZMin =zmin; fProdVtxZMax =zmax;}
+ void SetProdVtxRange2D (Bool_t b=kFALSE) {fProdVtxRange2D = b;}
void SetDecayVtxRangeX (Double32_t xmin, Double32_t xmax) {fDecayVtxXMin =xmin; fDecayVtxXMax =xmax;}
void SetDecayVtxRangeY (Double32_t ymin, Double32_t ymax) {fDecayVtxYMin =ymin; fDecayVtxYMax =ymax;}
void SetDecayVtxRangeZ (Double32_t zmin, Double32_t zmax) {fDecayVtxZMin =zmin; fDecayVtxZMax =zmax;}
Bool_t fRequireIsPrimary; // require primary particle
Bool_t fRequireIsSecondary; // require secondary particle
Bool_t fRequirePdgCode; // require check of the PDG code
+ Bool_t fRequireAbsolutePdg; // use the PDG code absolute value, used also for the decay channel
+ Bool_t fProdVtxRange2D; // cut an ellipse in xy plane
Int_t fPdgCode ; // particle PDG code
Double32_t fProdVtxXMin; // min X of particle production vertex
Double32_t fProdVtxYMin; // min Y of particle production vertex
Double32_t fDecayLengthMax; // max decay length (absolute)
Double32_t fDecayRxyMin; // min decay length in transverse plane wrt (0,0,0)
Double32_t fDecayRxyMax; // max decay length in transverse plane wrt (0,0,0)
- TDecayChannel* fDecayChannel; // decay channel
+ TDecayChannel* fDecayChannel; // decay channel : if fRequireAbsolutePdg, the antiparticle channel will be checked as well
//QA histos
TH1F* fhCutStatistics; // Histogram: statistics of what cuts the tracks did not survive
TH2F* fhCutCorrelation; // Histogram: 2d statistics plot
TH1F* fhQA[kNCuts][kNStepQA]; // QA Histograms
+ TH2F* fhProdVtxXY[2]; // Histogram: production vertex in tranzverse plane
TArrayF* fCutValues; // array of cut values
TBits* fBitmap ; // stores single selection decisions