]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/macros/AddTaskCFVertexingHF3ProngDs.C
Adding: 1) switch for usage of 3 different multiplicity estimators (by default Ntrack...
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskCFVertexingHF3ProngDs.C
index 1fda58fefe91f4146d83814c6b0a28a3ac565d52..ada88ca529fc8280f1cc283a8794e1be2f4f1f09 100644 (file)
@@ -21,8 +21,10 @@ const Int_t    minITSClusters = 5;
 
 const Float_t centmin_0_10 = 0.;
 const Float_t centmax_0_10 = 10.;
-const Float_t centmin_10_100 = 10.;
-const Float_t centmax_10_100 = 100.;
+const Float_t centmin_10_60 = 10.;
+const Float_t centmax_10_60 = 60.;
+const Float_t centmin_60_100 = 60.;
+const Float_t centmax_60_100 = 100.;
 const Float_t centmax = 100.;
 const Float_t fakemin = -0.5;
 const Float_t fakemax = 2.5.;
@@ -40,7 +42,7 @@ const Float_t multmax_50_102 = 102;
 
 //----------------------------------------------------
 
-AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertexingHF3Prong::kCountResonant, const char* cutFile = "./DstoKKpiCuts.root", Int_t configuration = AliCFTaskVertexingHF::kSnail, Bool_t isKeepDfromB=kFALSE, Bool_t isKeepDfromBOnly=kFALSE, Int_t pdgCode = 431, Char_t isSign = 2)
+AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(TString suffixName="", Int_t decayOption=AliCFVertexingHF3Prong::kCountResonant, const char* cutFile = "./DstoKKpiCuts.root", Int_t configuration = AliCFTaskVertexingHF::kSnail, Bool_t isKeepDfromB=kFALSE, Bool_t isKeepDfromBOnly=kFALSE, Int_t pdgCode = 431, Char_t isSign = 2)
 //AliCFContainer *AddTaskCFVertexingHF3ProngDs(const char* cutFile = "./DstoKKpiCuts.root", Int_t configuration = AliCFTaskVertexingHF::kSnail, Bool_t isKeepDfromB=kFALSE, Bool_t isKeepDfromBOnly=kFALSE, Int_t pdgCode = 431, Char_t isSign = 2)
 {
        printf("Addig CF task using cuts from file %s\n",cutFile);
@@ -152,9 +154,10 @@ AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertex
        const Int_t nbinpT3_4_8  = 4 ; //bins in pt3 from 4 to 8 GeV
        const Int_t nbinpT3_8_10  = 1 ; //bins in pt3 from 8 to 10 GeV
        const Int_t nbinzvtx  = 30 ; //bins in z vertex
-       const Int_t nbincent = 11; //bins in centrality
-       const Int_t nbincent_0_10 = 2;  //bins in centrality between 0 and 10
-       const Int_t nbincent_10_100 = 9;  //bins in centrality between 10 and 100
+       const Int_t nbincent = 18;  //bins in centrality
+       const Int_t nbincent_0_10 = 4;  //bins in centrality between 0 and 10
+       const Int_t nbincent_10_60 = 10;  //bins in centrality between 10 and 60
+       const Int_t nbincent_60_100 = 4;  //bins in centrality between 60 and 100
        const Int_t nbinfake = 3;  //bins in fake
        const Int_t nbinpointingXY = 50;  //bins in cosPointingAngleXY
        const Int_t nbinnormDecayLXY = 20;  //bins in NormDecayLengthXY
@@ -290,12 +293,16 @@ AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertex
                binLimzvtx[i]=(Double_t)zvtxmin  + (zvtxmax-zvtxmin)  /nbinzvtx*(Double_t)i ;
        }
        
-       // centrality
+       // centrality 
        for(Int_t i=0; i<=nbincent_0_10; i++) binLimcent[i]=(Double_t)centmin_0_10 + (centmax_0_10-centmin_0_10)/nbincent_0_10*(Double_t)i ; 
-       if (binLimcent[nbincent_0_10] != centmin_10_100)  {
-               Error("AliCFHeavyFlavourTaskMultiVarMultiStep","Calculated bin lim for cent - 1st range - differs from expected!\n");
+       if (binLimcent[nbincent_0_10] != centmin_10_60)  {
+         Error("AliCFHeavyFlavourTaskMultiVarMultiStep","Calculated bin lim for cent - 1st range - differs from expected!\n");
        }
-       for(Int_t i=0; i<=nbincent_10_100; i++) binLimcent[i+nbincent_0_10]=(Double_t)centmin_10_100 + (centmax_10_100-centmin_10_100)/nbincent_10_100*(Double_t)i ; 
+       for(Int_t i=0; i<=nbincent_10_60; i++) binLimcent[i+nbincent_0_10]=(Double_t)centmin_10_60 + (centmax_10_60-centmin_10_60)/nbincent_10_60*(Double_t)i ;
+       if (binLimcent[nbincent_0_10+nbincent_10_60] != centmin_60_100)  {
+               Error("AliCFHeavyFlavourTaskMultiVarMultiStep","Calculated bin lim for cent - 2st range - differs from expected!\n");
+       }
+       for(Int_t i=0; i<=nbincent_60_100; i++) binLimcent[i+nbincent_0_10+nbincent_10_60]=(Double_t)centmin_60_100 + (centmax_60_100-centmin_60_100)/nbincent_60_100*(Double_t)i ;
        
        // fake
        for(Int_t i=0; i<=nbinfake; i++) {
@@ -329,15 +336,16 @@ AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertex
        //one "container" for MC
        TString nameContainer="";
        if(!isKeepDfromB) {
-               nameContainer="CFHFccontainer0_3Prong_CommonFramework";
+               nameContainer="CFHFccontainer0_3ProngDstoKKpi_CommonFramework";
        }
        else  if(isKeepDfromBOnly){
-               nameContainer="CFHFccontainer0DfromB_3Prong_CommonFramework";
+               nameContainer="CFHFccontainer0DfromB_3ProngDstoKKpi_CommonFramework";
        }
        else  {
-               nameContainer="CFHFccontainer0allD_3Prong_CommonFramework";          
+               nameContainer="CFHFccontainer0allD_3ProngDstoKKpi_CommonFramework";          
        }
        nameContainer+=suffixDecayType.Data();
+       nameContainer+=suffixName.Data();
        
        AliCFContainer* container;
        if (configuration == AliCFTaskVertexingHF::kSnail){
@@ -594,15 +602,16 @@ AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertex
 
        TString nameCorr="";
        if(!isKeepDfromB) {
-               nameCorr="CFHFcorr0_3Prong_CommonFramework";
+               nameCorr="CFHFcorr0_3ProngDstoKKpi_CommonFramework";
        }
        else  if(isKeepDfromBOnly){
-               nameCorr= "CFHFcorr0KeepDfromBOnly_3Prong_CommonFramework";
+               nameCorr= "CFHFcorr0KeepDfromBOnly_3ProngDstoKKpi_CommonFramework";
        }
        else  {
-               nameCorr="CFHFcorr0allD_3Prong_CommonFramework";                
+               nameCorr="CFHFcorr0allD_3ProngDstoKKpi_CommonFramework";                
        }
        nameCorr+=suffixDecayType.Data();
+       nameCorr+=suffixName.Data();
 
         THnSparseD* correlation = new THnSparseD(nameCorr,"THnSparse with correlations",4,thnDim);
         Double_t** binEdges = new Double_t[2];
@@ -638,21 +647,30 @@ AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertex
        output3name=nameCorr;
        if(!isKeepDfromB) {
                outputfile += ":PWG3_D2H_CFtaskDstoKKpi_CommonFramework";
-               output1name="CFHFchist0_3Prong_CommonFramework";
+               output1name="CFHFchist0_3ProngDstoKKpi_CommonFramework";
+               output3name+="_cOnly";
+               output4name= "CutsDdirect_3ProngDs_CommonFramework";
        }
        else  if(isKeepDfromBOnly){
                outputfile += ":PWG3_D2H_CFtaskDstoKKpiKeepDfromBOnly_CommonFramework";
-               output1name="CFHFchist0DfromB_3Prong_CommonFramework";
+               output1name="CFHFchist0DfromB_3ProngDstoKKpi_CommonFramework";
+               output3name+="_bOnly";
+               output4name= "CutsDfromB_3ProngDs_CommonFramework";
        }
        else{
                outputfile += ":PWG3_D2H_CFtaskDstoKKpiKeepDfromB_CommonFramework";
-               output1name="CFHFchist0allD_3Prong_CommonFramework";
+               output1name="CFHFchist0allD_3ProngDstoKKpi_CommonFramework";
+               output3name+="_all";
+               output4name= "CutsallD_3ProngDs_CommonFramework";
        }
 
-       output4name= "Cuts_3Prong_CommonFramework";
        outputfile += suffixDecayType.Data();
        output1name+= suffixDecayType.Data();
        output4name+= suffixDecayType.Data();
+       
+       outputfile += suffixName.Data();
+       output1name+= suffixName.Data();
+       output4name+= suffixName.Data();
 
        //now comes user's output objects :
        // output TH1I for event counting
@@ -673,4 +691,3 @@ AliCFTaskVertexingHF *AddTaskCFVertexingHF3ProngDs(Int_t decayOption=AliCFVertex
 
        return task;
 }
-