AliAODConversionPhoton *gamma0=dynamic_cast<AliAODConversionPhoton*>(fClusterCandidates->At(firstGammaIndex));
if (gamma0==NULL) continue;
- for(Int_t secondGammaIndex=0;secondGammaIndex<fClusterCandidates->GetEntries();secondGammaIndex++){
- if (firstGammaIndex == secondGammaIndex) continue;
+ for(Int_t secondGammaIndex=firstGammaIndex+1;secondGammaIndex<fClusterCandidates->GetEntries();secondGammaIndex++){
AliAODConversionPhoton *gamma1=dynamic_cast<AliAODConversionPhoton*>(fClusterCandidates->At(secondGammaIndex));
if (gamma1==NULL) continue;
fHistograms->Add(fHistNCellsBeforeQA);
fHistNCellsAfterQA = new TH1F(Form("NCellPerCluster_afterClusterQA %s",GetCutNumber().Data()),"NCellPerCluster_afterClusterQA",50,0,50);
fHistograms->Add(fHistNCellsAfterQA);
- fHistM02BeforeQA = new TH1F(Form("M02_beforeClusterQA %s",GetCutNumber().Data()),"M02_beforeClusterQA",100,0,5);
+ fHistM02BeforeQA = new TH1F(Form("M02_beforeClusterQA %s",GetCutNumber().Data()),"M02_beforeClusterQA",400,0,5);
fHistograms->Add(fHistM02BeforeQA);
- fHistM02AfterQA = new TH1F(Form("M02_afterClusterQA %s",GetCutNumber().Data()),"M02_afterClusterQA",100,0,5);
+ fHistM02AfterQA = new TH1F(Form("M02_afterClusterQA %s",GetCutNumber().Data()),"M02_afterClusterQA",400,0,5);
fHistograms->Add(fHistM02AfterQA);
- fHistM20BeforeQA = new TH1F(Form("M20_beforeClusterQA %s",GetCutNumber().Data()),"M20_beforeClusterQA",100,0,2.5);
+ fHistM20BeforeQA = new TH1F(Form("M20_beforeClusterQA %s",GetCutNumber().Data()),"M20_beforeClusterQA",400,0,2.5);
fHistograms->Add(fHistM20BeforeQA);
- fHistM20AfterQA = new TH1F(Form("M20_afterClusterQA %s",GetCutNumber().Data()),"M20_afterClusterQA",100,0,2.5);
+ fHistM20AfterQA = new TH1F(Form("M20_afterClusterQA %s",GetCutNumber().Data()),"M20_afterClusterQA",400,0,2.5);
fHistograms->Add(fHistM20AfterQA);
fHistDispersionBeforeQA = new TH1F(Form("Dispersion_beforeClusterQA %s",GetCutNumber().Data()),"Dispersion_beforeClusterQA",100,0,4);
fHistograms->Add(fHistDispersionBeforeQA);
if (fUseDistTrackToCluster) printf("\tmin distance to track > %3.2f\n", fMinDistTrackToCluster );
if (fUseExoticCell)printf("\t min distance to track > %3.2f\n", fMinDistTrackToCluster );
if (fUseMinEnergy)printf("\t E_{cluster} > %3.2f\n", fMinEnergy );
- if (fUseNCells) printf("\t number of cells per cluster > %d\n", fMinNCells );
+ if (fUseNCells) printf("\t number of cells per cluster >= %d\n", fMinNCells );
if (fUseM02) printf("\t %3.2f < M02 < %3.2f\n", fMinM02, fMaxM02 );
if (fUseM20) printf("\t %3.2f < M20 < %3.2f\n", fMinM20, fMaxM20 );
if (fUseDispersion) printf("\t dispersion < %3.2f\n", fMaxDispersion );
break;
case 6:
if (!fUseMinEnergy) fUseMinEnergy=1;
- fMinEnergy=0.5;
+ fMinEnergy=0.4;
break;
case 7:
if (!fUseMinEnergy) fUseMinEnergy=1;
- fMinEnergy=0.75;
+ fMinEnergy=0.5;
break;
case 8:
if (!fUseMinEnergy) fUseMinEnergy=1;
- fMinEnergy=1.;
+ fMinEnergy=0.75;
break;
case 9:
if (!fUseMinEnergy) fUseMinEnergy=1;
- fMinEnergy=1.25;
+ fMinEnergy=1.;
break;
default:
AliError(Form("Minimum Energy Cut not defined %d",minEnergy));
AliAnalysisTask *AddTask_ConversionAODProduction(Int_t dataset=0, Bool_t isMC = kFALSE){
- // Before doing anything, we load the needed library
- gSystem->Load("libPWGGAGammaConv.so");
- // dataset 0: pp
- // dataset 1: PbPb
- // dataset 2: pPb
+// Before doing anything, we load the needed library
+ gSystem->Load("libPWGGAGammaConv.so");
+ // dataset 0: pp
+ // dataset 1: PbPb
+ // dataset 2: pPb
- //get the current analysis manager
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
- if (!mgr) {
- Error("AddTask_V0ReaderV1", "No analysis manager found.");
- return 0;
- }
+ //get the current analysis manager
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ Error("AddTask_V0ReaderV1", "No analysis manager found.");
+ return 0;
+ }
- //========= Add PID Reponse to ANALYSIS manager ====
- if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
- gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
- AddTaskPIDResponse(isMC);
- }
-
- TString analysiscut;
- TString analysiscutB;
+//========= Add PID Reponse to ANALYSIS manager ====
+ if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+ AddTaskPIDResponse(isMC);
+ }
+
+ TString analysiscut;
+ TString analysiscutEvent;
+ TString analysiscutB;
- if(dataset == 1){
- // Old cut string, no longer compatible with AliConversionCuts
- // analysiscut="9001770093501132112000010000000000";
- // New cut string as of April 2013
- analysiscut= "1000000060084000001500000000";
- analysiscutB="1000000160084000001500000000";
- } else if (dataset == 2){
- analysiscut= "8000000060084000001500000000";
- analysiscutB="8000000160084000001500000000";
- } else{
- // analysiscut="
- analysiscut ="0000000060084001001500000000";
- analysiscutB="0000000160084001001500000000";
- }
+ if(dataset == 1){
+ // Old cut string, no longer compatible with AliConversionCuts
+ // analysiscut="9001770093501132112000010000000000";
+ // New cut string as of April 2013
+ analysiscutEvent = "1000000";
+ analysiscut= "060084000001500000000";
+ analysiscutB="160084000001500000000";
+ } else if (dataset == 2){
+ analysiscutEvent = "8000000";
+ analysiscut= "060084000001500000000";
+ analysiscutB="160084000001500000000";
+ } else{
+ // analysiscut="
+ analysiscutEvent = "0000000";
+ analysiscut ="060084001001500000000";
+ analysiscutB="160084001001500000000";
+ }
- //========= Add V0 Reader to ANALYSIS manager =====
+ //========= Add V0 Reader to ANALYSIS manager =====
- AliV0ReaderV1 *fV0Reader=new AliV0ReaderV1("ConvGammaAODProduction");
- fV0Reader->SetCreateAODs(kTRUE);
- fV0Reader->SetUseOwnXYZCalculation(kTRUE);
- fV0Reader->SetUseAODConversionPhoton(kTRUE);
+ AliV0ReaderV1 *fV0Reader=new AliV0ReaderV1("ConvGammaAODProduction");
+ fV0Reader->SetCreateAODs(kTRUE);
+ fV0Reader->SetUseOwnXYZCalculation(kTRUE);
+ fV0Reader->SetUseAODConversionPhoton(kTRUE);
// fV0Reader->CheckAODConsistency();
- AliV0ReaderV1 *fV0ReaderB=new AliV0ReaderV1("ConvGammaAODProductionB");
- fV0ReaderB->SetCreateAODs(kTRUE);
- fV0ReaderB->SetUseOwnXYZCalculation(kTRUE);
- fV0ReaderB->SetUseAODConversionPhoton(kTRUE);
+ AliV0ReaderV1 *fV0ReaderB=new AliV0ReaderV1("ConvGammaAODProductionB");
+ fV0ReaderB->SetCreateAODs(kTRUE);
+ fV0ReaderB->SetUseOwnXYZCalculation(kTRUE);
+ fV0ReaderB->SetUseAODConversionPhoton(kTRUE);
// fV0ReaderB->CheckAODConsistency();
- // Set AnalysisCut Number
- AliConversionCuts *fCuts= new AliConversionCuts(analysiscut.Data(),analysiscut.Data());
- AliConversionCuts *fCutsB= new AliConversionCuts(analysiscutB.Data(),analysiscutB.Data());
- if(fCuts->InitializeCutsFromCutString(analysiscut.Data())){
- fV0Reader->SetConversionCuts(fCuts);
- }
- fV0Reader->Init();
+ AliConvEventCuts *fEventCuts=NULL;
+ if(analysiscutEvent!=""){
+ fEventCuts= new AliConvEventCuts(analysiscutEvent.Data(),analysiscutEvent.Data());
+ if(fEventCuts->InitializeCutsFromCutString(analysiscutEvent.Data())){
+ fV0Reader->SetEventCuts(fEventCuts);
+ fV0ReaderB->SetEventCuts(fEventCuts);
+ }
+ }
+
+ // Set AnalysisCut Number
+ AliConversionPhotonCuts *fCuts= new AliConversionPhotonCuts(analysiscut.Data(),analysiscut.Data());
+ AliConversionPhotonCuts *fCutsB= new AliConversionPhotonCuts(analysiscutB.Data(),analysiscutB.Data());
+ if(fCuts->InitializeCutsFromCutString(analysiscut.Data())){
+ fCuts->SetIsHeavyIon(dataset);
+ fV0Reader->SetConversionCuts(fCuts);
+ }
+
+ fV0Reader->Init();
- if(fCutsB->InitializeCutsFromCutString(analysiscutB.Data())){
- fV0ReaderB->SetConversionCuts(fCutsB);
- }
- fV0ReaderB->Init();
+ if(fCutsB->InitializeCutsFromCutString(analysiscutB.Data())){
+ fCutsB->SetIsHeavyIon(dataset);
+ fV0ReaderB->SetConversionCuts(fCutsB);
+ }
+ fV0ReaderB->Init();
-
- AliLog::SetGlobalLogLevel(AliLog::kInfo);
+
+ AliLog::SetGlobalLogLevel(AliLog::kInfo);
- //================================================
- // data containers
- //================================================
- // find input container
- //below the trunk version
- AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
+ //================================================
+ // data containers
+ //================================================
+ // find input container
+ //below the trunk version
+ AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
- // connect input V0Reader
- //fV0Reader->SelectCollisionCandidates(AliVEvent::kAny);
- mgr->AddTask(fV0Reader);
- mgr->ConnectInput (fV0Reader,0,cinput);
+ // connect input V0Reader
+ //fV0Reader->SelectCollisionCandidates(AliVEvent::kAny);
+ mgr->AddTask(fV0Reader);
+ mgr->ConnectInput (fV0Reader,0,cinput);
- //fV0ReaderB->SelectCollisionCandidates(AliVEvent::kAny);
- mgr->AddTask(fV0ReaderB);
- mgr->ConnectInput (fV0ReaderB,0,cinput);
+ //fV0ReaderB->SelectCollisionCandidates(AliVEvent::kAny);
+ mgr->AddTask(fV0ReaderB);
+ mgr->ConnectInput (fV0ReaderB,0,cinput);
- return fV0Reader;
+ return fV0Reader;
}
eventCutArray[ 1] = "0009311"; clusterCutArray[1] = "10000040052030000"; mesonCutArray[1] = "01631031009000"; // EMCEJ1, 300 MeV cluster min energy
eventCutArray[ 2] = "0009511"; clusterCutArray[2] = "10000040022030000"; mesonCutArray[2] = "01631031009000"; // EMCEJ2, 100 MeV cluster min energy
eventCutArray[ 3] = "0009511"; clusterCutArray[3] = "10000040052030000"; mesonCutArray[3] = "01631031009000"; // EMCEJ2, 300 MeV cluster min energy
- } else if (trainConfig == 4){ // EMCAL clusters 2.76 TeV LHC13g, KINT7 (0,1), kEMC7 (2,3), track
+ } else if (trainConfig == 4){ // EMCAL clusters 2.76 TeV LHC13g, kINT7 (0,1), kEMC7 (2,3), track
eventCutArray[ 0] = "0000011"; clusterCutArray[0] = "10000040022030000"; mesonCutArray[0] = "01631031009000"; // 100 MeV cluster min energy
eventCutArray[ 1] = "0000011"; clusterCutArray[1] = "10000040052030000"; mesonCutArray[1] = "01631031009000"; // 300 MeV cluster min energy
eventCutArray[ 2] = "0005211"; clusterCutArray[2] = "10000040022030000"; mesonCutArray[2] = "01631031009000"; // 100 MeV cluster min energy
eventCutArray[ 3] = "0005211"; clusterCutArray[3] = "10000040052030000"; mesonCutArray[3] = "01631031009000"; // 300 MeV cluster min energy
+ } else if (trainConfig == 5){ // EMCAL clusters 2.76 TeV LHC11a, with SDD (0,1), kEMC1 (2,3)
+ eventCutArray[ 0] = "0002011"; clusterCutArray[0] = "10000040062030000"; mesonCutArray[0] = "01631031009000"; // 400 MeV cluster min energy
+ eventCutArray[ 1] = "0002011"; clusterCutArray[1] = "10000040062031000"; mesonCutArray[1] = "01631031009000"; // 400 MeV cluster min energy, min M20 > 0.02
+ eventCutArray[ 2] = "0005111"; clusterCutArray[2] = "10000040062030000"; mesonCutArray[2] = "01631031009000"; // 500 MeV cluster min energy
+ eventCutArray[ 3] = "0005111"; clusterCutArray[3] = "10000040062031000"; mesonCutArray[3] = "01631031009000"; // 500 MeV cluster min energy, min M20 > 0.02
+ } else if (trainConfig == 6){ // EMCAL clusters, EMCEGA triggers
+ eventCutArray[ 0] = "0008311"; clusterCutArray[0] = "10000040062030000"; mesonCutArray[0] = "01631031009000"; // EMCEG1, 400 MeV cluster min energy
+ eventCutArray[ 1] = "0008311"; clusterCutArray[1] = "10000040062031000"; mesonCutArray[1] = "01631031009000"; // EMCEG1, 400 MeV cluster min energy, min M20 > 0.02
+ eventCutArray[ 2] = "0008511"; clusterCutArray[2] = "10000040062030000"; mesonCutArray[2] = "01631031009000"; // EMCEG2, 400 MeV cluster min energy
+ eventCutArray[ 3] = "0008511"; clusterCutArray[3] = "10000040062031000"; mesonCutArray[3] = "01631031009000"; // EMCEG2, 400 MeV cluster min energy, min M20 > 0.02
+ } else if (trainConfig == 7){ // EMCAL clusters, EMCEJE triggers
+ eventCutArray[ 0] = "0009311"; clusterCutArray[0] = "10000040062030000"; mesonCutArray[0] = "01631031009000"; // EMCEJ1, 400 MeV cluster min energy
+ eventCutArray[ 1] = "0009311"; clusterCutArray[1] = "10000040062031000"; mesonCutArray[1] = "01631031009000"; // EMCEJ1, 400 MeV cluster min energy, min M20 > 0.02
+ eventCutArray[ 2] = "0009511"; clusterCutArray[2] = "10000040062030000"; mesonCutArray[2] = "01631031009000"; // EMCEJ2, 400 MeV cluster min energy
+ eventCutArray[ 3] = "0009511"; clusterCutArray[3] = "10000040062031000"; mesonCutArray[3] = "01631031009000"; // EMCEJ2, 400 MeV cluster min energy, min M20 > 0.02
+ } else if (trainConfig == 8){ // EMCAL clusters 2.76 TeV LHC13g, kINT7 (0,1), kEMC7 (2,3), track
+ eventCutArray[ 0] = "0000011"; clusterCutArray[0] = "10000040062030000"; mesonCutArray[0] = "01631031009000"; // 400 MeV cluster min energy
+ eventCutArray[ 1] = "0000011"; clusterCutArray[1] = "10000040062031000"; mesonCutArray[1] = "01631031009000"; // 400 MeV cluster min energy, min M20 > 0.02
+ eventCutArray[ 2] = "0005211"; clusterCutArray[2] = "10000040062030000"; mesonCutArray[2] = "01631031009000"; // 400 MeV cluster min energy
+ eventCutArray[ 3] = "0005211"; clusterCutArray[3] = "10000040062031000"; mesonCutArray[3] = "01631031009000"; // 400 MeV cluster min energy, min M20 > 0.02
} else if (trainConfig == 31) { //PHOS clusters
eventCutArray[ 0] = "0002011"; clusterCutArray[0] = "20000030022000000"; mesonCutArray[0] = "01631031009000"; //pp LHC11a with SDD, PHOS
eventCutArray[ 1] = "0000011"; clusterCutArray[1] = "20000030022000000"; mesonCutArray[1] = "01631031009000"; //pp LHC13g default MB