class AliAODInputHandler;
class TH2D;
+#include "AliPIDResponse.h"
#include "AliAnalysisTaskSE.h"
class AliAnalysisTaskEffContBF : public AliAnalysisTaskSE {
fHistCentrality(0),
fHistNMult(0),
fHistVz(0),
- fHistContaminationSecondaries(0),
- fHistContaminationPrimaries(0),
+ fHistNSigmaTPCvsPtbeforePID(0),
+ fHistNSigmaTPCvsPtafterPID(0),
+ fHistContaminationSecondariesPlus(0),
+ fHistContaminationSecondariesMinus(0),
+ fHistContaminationPrimariesPlus(0),
+ fHistContaminationPrimariesMinus(0),
fHistGeneratedEtaPtPhiPlus(0),
fHistSurvivedEtaPtPhiPlus(0),
fHistGeneratedEtaPtPhiMinus(0),
fHistSurvivedPhiEtaMinusMinus(0),
fHistGeneratedPhiEtaPlusMinus(0),
fHistSurvivedPhiEtaPlusMinus(0),
- fAnalysisMode(0),
+ fUseCentrality(kFALSE),
fCentralityEstimator("V0M"),
fCentralityPercentileMin(0.0),
fCentralityPercentileMax(5.0),
+ fInjectedSignals(kFALSE),
+ fPIDResponse(0),
+ fElectronRejection(kFALSE),
+ fElectronOnlyRejection(kFALSE),
+ fElectronRejectionNSigma(-1.),
+ fElectronRejectionMinPt(0.),
+ fElectronRejectionMaxPt(1000.),
fVxMax(3.0),
fVyMax(3.0),
fVzMax(10.),
fEtaRangeMax(1.6),
fPtRangeMin(0.0),
fPtRangeMax(20.0),
- fPhiRangeMin(0.0),
- fPhiRangeMax(360.),
- fdPhiRangeMax(180.),
fEtaBin(100),
fdEtaBin(64),
fPtBin(100),
- fPhiBin(100),
- fdPhiBin(90),
fHistSurvived4EtaPtPhiPlus(0),
fHistSurvived8EtaPtPhiPlus(0){}
AliAnalysisTaskEffContBF(const char *name);
}
//Centrality
+ void UseCentrality() { fUseCentrality = kTRUE;}
void SetCentralityEstimator(const char* centralityEstimator) {
fCentralityEstimator = centralityEstimator;}
void SetCentralityPercentileRange(Float_t min, Float_t max) {
fCentralityPercentileMax=max;
}
- void SetAnalysisMode(const char* analysisMode) {
- fAnalysisMode = analysisMode;}
+ //Injected signals
+ void SetRejectInjectedSignals() {fInjectedSignals = kTRUE;}
+ // electron rejection
+ void SetElectronRejection(Double_t gMaxNSigma){
+ fElectronRejection = kTRUE;
+ fElectronRejectionNSigma = gMaxNSigma;
+ }
+
+ void SetElectronOnlyRejection(Double_t gMaxNSigma){
+ fElectronRejection = kTRUE;
+ fElectronOnlyRejection = kTRUE;
+ fElectronRejectionNSigma = gMaxNSigma;
+ }
+
+ void SetElectronRejectionPt(Double_t minPt,Double_t maxPt){
+ fElectronRejectionMinPt = minPt;
+ fElectronRejectionMaxPt = maxPt;
+ }
+
//Track cuts
void SetMinNumberOfTPCClusters(Double_t min) {
fMinNumberOfTPCClusters = min;}
fPtRangeMin = minRangePt;
fPtRangeMax = maxRangePt;
fPtBin = binPt;}
- void SetPhiRange(Double_t minRangePhi, Double_t maxRangePhi,Int_t binPhi,Double_t maxRangedPhi,Int_t bindPhi ){
- fPhiRangeMin = minRangePhi;
- fPhiRangeMax = maxRangePhi;
- fPhiBin = binPhi;
- fdPhiRangeMax = maxRangedPhi;
- fdPhiBin = bindPhi;
- }
-
private:
AliAODEvent* fAOD; //! AOD object
TClonesArray *fArrayMC; //! array of MC particles
TH1F *fHistCentrality; //!centrality
TH1F *fHistNMult; //! nmult
TH1F *fHistVz;//!
+ TH2F *fHistNSigmaTPCvsPtbeforePID;//TPC nsigma vs pT before PID cuts (QA histogram)
+ TH2F *fHistNSigmaTPCvsPtafterPID;//TPC nsigma vs pT after PID cuts (QA histogram)
// output histograms
- TH3D *fHistContaminationSecondaries;//!
- TH3D *fHistContaminationPrimaries;//!
+ TH3D *fHistContaminationSecondariesPlus;//!
+ TH3D *fHistContaminationSecondariesMinus;//!
+ TH3D *fHistContaminationPrimariesPlus;//!
+ TH3D *fHistContaminationPrimariesMinus;//!
+
// output histograms (single particles)
TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated)
TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived)
TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated)
TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived)
- TString fAnalysisMode;//"TPC", "Global"
-
+ Bool_t fUseCentrality;// Bool_t use centrality or not
TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
+ Bool_t fInjectedSignals;//Flag for using the rejection of injected signals
+
+ AliPIDResponse *fPIDResponse; //! PID response object
+ Bool_t fElectronRejection;//flag to use electron rejection
+ Bool_t fElectronOnlyRejection;//flag to use electron rejection with exclusive electron PID (no other particle in nsigma range)
+ Double_t fElectronRejectionNSigma;//nsigma cut for electron rejection
+ Double_t fElectronRejectionMinPt;//minimum pt for electron rejection (default = 0.)
+ Double_t fElectronRejectionMaxPt;//maximum pt for electron rejection (default = 1000.)
+
Double_t fVxMax;//vxmax
Double_t fVyMax;//vymax
Double_t fVzMax;//vzmax
Double_t fEtaRangeMax; // acceptance cuts
Double_t fPtRangeMin; //acceptance cuts
Double_t fPtRangeMax; //acceptance cuts
- Double_t fPhiRangeMin; //acceptance cuts
- Double_t fPhiRangeMax; // acceptance cuts
- Double_t fdPhiRangeMax; // acceptance cuts
Int_t fEtaBin; //acceptance cuts
Int_t fdEtaBin; //acceptance cuts
Int_t fPtBin; //acceptance cuts
- Int_t fPhiBin; // acceptance cuts
- Int_t fdPhiBin; // acceptance cuts
TH3F *fHistSurvived4EtaPtPhiPlus;//!
TH3F *fHistSurvived8EtaPtPhiPlus;//!