,fPID(0)
,fPIDqa(0)
,fOpeningAngleCut(0.1)
- ,fInvmassCut(0.05)
- //,fInvmassCut(0.1) // no mass
+ ,fInvmassCut(0) // no mass
+ ,fSetMassConstraint(kTRUE)
,fNoEvents(0)
,fEMCAccE(0)
,hEMCAccE(0)
,fPID(0)
,fPIDqa(0)
,fOpeningAngleCut(0.1)
- ,fInvmassCut(0.05)
- //,fInvmassCut(0.1)
+ ,fInvmassCut(0) // no mass
+ ,fSetMassConstraint(kTRUE)
,fNoEvents(0)
,fEMCAccE(0)
,hEMCAccE(0)
fIncpTM20 = new TH2F("fIncpTM20","HFE pid electro vs. centrality with M20",200,0,100,100,0,50);
fOutputList->Add(fIncpTM20);
- Int_t nBinspho[9] = { 200, 100, 500, 12, 50, 4, 200, 8, 100};
- Double_t minpho[9] = { 0., 0., 0., -2.5, 0, -0.5, 0,-1.5, 0};
- Double_t maxpho[9] = {100., 50., 0.5, 3.5, 1, 3.5, 2, 6.5, 50};
+ Int_t nBinspho[9] = { 10, 30, 600, 12, 50, 4, 40, 8, 30};
+ Double_t minpho[9] = { 0., 0., -0.1, -2.5, 0, -0.5, 0,-1.5, 0};
+ Double_t maxpho[9] = {100., 30., 0.5, 3.5, 1, 3.5, 2, 6.5, 30};
fInvmassLS = new THnSparseD("fInvmassLS", "Inv mass of LS (e,e); cent; p_{T} (GeV/c); mass(GeV/c^2); nSigma; angle; m20cut; eop; Mcele;", 9, nBinspho,minpho, maxpho);
if(fqahist==1)fOutputList->Add(fInvmassLS);
// check chi2
if(recg.GetNDF()<1) continue;
+ Double_t chi2recg = recg.GetChi2()/recg.GetNDF();
+ Double_t chi2cut = 3.0;
- // mass const.
- recg.SetMassConstraint(0,0.0001);
- // v5-04-50-AN no constrain
+ // mass.
+ if(fSetMassConstraint)
+ {
+ recg.SetMassConstraint(0,0.0001);
+ chi2cut = 30.0;
+ }
recg.GetMass(mass,width);
- Double_t chi2recg = recg.GetChi2()/recg.GetNDF();
- if(TMath::Sqrt(TMath::Abs(chi2recg))>30.) continue;
-
- // angle
+ // angle
openingAngle = ge1.GetAngle(ge2);
if(fFlagLS) fOpeningAngleLS->Fill(openingAngle);
if(fFlagULS) fOpeningAngleULS->Fill(openingAngle);
// angle cut
if(openingAngle > fOpeningAngleCut) continue;
-
+ // chi2 cut
+ if(TMath::Sqrt(TMath::Abs(chi2recg))>chi2cut) continue;
+
+
+
// for real data
//printf("mce =%f\n",mce);
if(mce<-0.5) // mce==-1. is real
void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
void SetOpeningAngleCut (Double_t openingAngle) {fOpeningAngleCut = openingAngle;};
void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
+ void SetMassConstraint (Bool_t MassConstraint) { fSetMassConstraint = MassConstraint; };
void SetQAHist (int qahist) {fqahist = qahist;};
AliHFEpid *GetPID() const { return fPID; }
void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; };
AliHFEpidQAmanager *fPIDqa; //! PID QA manager
Double_t fOpeningAngleCut; //openingAngle cut value
Double_t fInvmassCut; //invariant mass cut value
+ Bool_t fSetMassConstraint; // Set mass constraint
int ftriggers[48][60];//!
int ftriggersCut[48][60];//!
-AliAnalysisTask *AddTaskHFECal()
+AliAnalysisTask *AddTaskHFECal(Bool_t MassConst)
{
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
//analysis task
gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECal.C");
- AliAnalysisTaskHFECal *hfetaskCent = ConfigHFECal(MCthere);
- AliAnalysisTaskHFECal *hfetaskTrig= ConfigHFECal(MCthere);
- AliAnalysisTaskHFECal *hfetaskTrig2= ConfigHFECal(MCthere);
+ AliAnalysisTaskHFECal *hfetaskCent = ConfigHFECal(MCthere,MassConst);
+ AliAnalysisTaskHFECal *hfetaskTrig= ConfigHFECal(MCthere,MassConst);
+ AliAnalysisTaskHFECal *hfetaskTrig2= ConfigHFECal(MCthere,MassConst);
mgr->AddTask(hfetaskCent);
mgr->AddTask(hfetaskTrig);
//if(MCthere)
//{
//MB trigger
- AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere);
+ AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere,MassConst);
mgr->AddTask(hfetaskMB);
hfetaskMB->SelectCollisionCandidates(AliVEvent::kMB);
-AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC){\r
+AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC,Bool_t MassConst){\r
//\r
// HFE standard task configuration\r
//\r
AliAnalysisTaskHFECal *task = new AliAnalysisTaskHFECal("HFEanalysisEMCal");\r
printf("task ------------------------ %p\n ", task);\r
task->SetHFECuts(hfecuts);\r
- task->SetInvariantMassCut(0.05);\r
+ task->SetMassConstraint(MassConst);\r
+ Double_t masscut = 0.05;\r
+ if(!MassConst)masscut = 0.1;\r
+ task->SetInvariantMassCut(masscut);\r
\r
// Define PID\r
AliHFEpid *pid = task->GetPID();\r