void InitCF(AliDielectron* die, Int_t cutDefinition);
void InitHF(AliDielectron* die, Int_t cutDefinition);
-void SetupEventCuts(AliDielectron *die, ULong64_t triggers);
+void SetupEventCuts(AliDielectron *die, ULong64_t triggers, Int_t cutDefinition);
void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
-void SetupPairCuts(AliDielectron *die, Int_t cutDefinition);
+void SetupV0Cuts( AliDielectron *die, Int_t cutDefinition);
+void SetupPairCuts( AliDielectron *die, Int_t cutDefinition);
+
+void ConfigEvtPlane(AliDielectron *die, Int_t cutDefinition);
+void ConfigBgrd( AliDielectron *die, Int_t cutDefinition);
void AddMCSignals(AliDielectron *die);
void SetEtaCorrection();
TVectorD *GetRunNumbers();
+TVectorD *GetDeltaPhiBins();
TString names=("TPC;TOF;TRD;TOFTRD;TOFTRD2D;rec;Gam0;Gam01;Gam05;Gam10;Gam15;Gam20;EtaGap01;EtaGap02;EtaGap03;EtaGap04;EtaGap05;SubLS;SubRndm");
enum { kTPC=0, kTOF, kTRD, kTOFTRD, kTOFTRD2D, krec,kGam0, kGam01, kGam05, kGam10, kGam15, kGam20, kEtaGap01, kEtaGap02, kEtaGap03, kEtaGap04, kEtaGap05, kSubLS, kSubRndm };
Bool_t hasMC = kFALSE;
TString list = gSystem->Getenv("LIST");
-AliDielectron* ConfigJpsi_jb_PbPb(Int_t cutDefinition, TString prod=""/*, ULong64_t triggers=AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB*/)
+AliDielectron* ConfigJpsi_jb_PbPb(Int_t cutDefinition, TString prod="", ULong64_t triggers=AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB)
{
//
// Setup the instance of AliDielectron
//
+ // gsi train?
+ TString trainRoot = gSystem->Getenv("TRAIN_ROOT");
+ Bool_t isGSItrain = (trainRoot.IsNull()?kFALSE:kTRUE);
+
// find mc or not?
if( list.IsNull()) list=prod;
if( list.Contains("LHC10h") || list.Contains("LHC11h") ) hasMC=kFALSE;
//ESD handler?
isESD=(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->IsA()==AliESDInputHandler::Class());
- // switch off some configurations
+ // switch configurations ON and OFF
if(hasMC) { // MONTE CARLO
switch(cutDefinition) {
- case kTPC: return 0x0;
- case kTOF: return 0x0;
- case kTRD: return 0x0;
- case kTOFTRD: return 0x0;
- case kTOFTRD2D: return 0x0;
- case krec: return 0x0;
- case kGam0: return 0x0;
- case kGam01: return 0x0;
- case kGam05: return 0x0;
- case kGam10: return 0x0;
- case kGam15: return 0x0;
- case kGam20: return 0x0;
- case kEtaGap01: return 0x0;
- case kEtaGap02: return 0x0;
- case kEtaGap03: return 0x0;
- case kEtaGap04: return 0x0;
- case kEtaGap05: return 0x0;
- case kSubLS: return 0x0;
- case kSubRndm: return 0x0;
+ case kTOF: /* */ break;
+ default: return 0x0;
}
} else { // COLLISION DATA
switch(cutDefinition) {
- case kTPC: return 0x0;
- // case kTOF: return 0x0;
- case kTRD: return 0x0;
- // case kTOFTRD: return 0x0;
- case kTOFTRD2D: return 0x0;
- case krec: return 0x0;
- case kGam0: return 0x0;
- case kGam01: return 0x0;
- case kGam05: return 0x0;
- case kGam10: return 0x0;
- case kGam15: return 0x0;
- case kGam20: return 0x0;
- case kEtaGap01: return 0x0;
- case kEtaGap02: return 0x0;
- case kEtaGap03: return 0x0;
- case kEtaGap04: return 0x0;
- case kEtaGap05: return 0x0;
- case kSubLS: return 0x0;
- case kSubRndm: return 0x0;
+ case kTOF: /* */ break;
+ default: return 0x0;
}
}
- // create the actual framework object
+ // task name
TString name=Form("%02d",cutDefinition);
- if (cutDefinition<arrNames->GetEntriesFast()){
- name=arrNames->At(cutDefinition)->GetName();
- }
- printf(" Adding %s %s config %s for %s \n",(isESD?"ESD":"AOD"),(hasMC?"MC":""),name.Data(),list.Data());
+ if (cutDefinition<arrNames->GetEntriesFast()) name=arrNames->At(cutDefinition)->GetName();
+ printf(" Adding %s%s config %s for %s \n",(isESD?"ESD":"AOD"),(hasMC?" MC":""),name.Data(),list.Data());
+
+ // init AliDielectron
AliDielectron *die = new AliDielectron(Form("%s",name.Data()), Form("Track cuts: %s",name.Data()));
die->SetHasMC(hasMC);
// cut setup
- SetupEventCuts(die,triggers);
+ SetupEventCuts(die,triggers,cutDefinition);
SetupTrackCuts(die,cutDefinition);
- SetupPairCuts(die,cutDefinition);
+ SetupV0Cuts(die,cutDefinition);
+ // SetupPairCuts(die,cutDefinition);
- // Monte Carlo Signals and TRD efficiency tables
+ // Monte Carlo Signals
if(hasMC) {
AddMCSignals(die);
printf(" Add %d MC signals \n",die->GetMCSignals()->GetEntriesFast());
-
- // trd tables
- /* if (list.Contains("LHC11a") ) {
- TString pidTab="$TRAIN_ROOT/util/dielectron/dielectron/TRDpidEff_eleProb07_TRDntr4_6.root";
- TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
- if (trainRoot.IsNull()) pidTab="$ALICE_ROOT/PWGDQ/dielectron/files/TRDpidEff_eleProb07_TRDntr4_6.root";
-
- if (gSystem->AccessPathName(gSystem->ExpandPathName(pidTab.Data())))
- Error("ConfigPbPb","PID table not found: %s",pidTab.Data());
- else
- die->SetTRDcorrectionFilename(pidTab.Data());
- }*/
}
+ // TRD efficiencies tables
+ /*
+ if (hasMC && list.Contains("LHC11a") ) {
+ TString pidTab="$TRAIN_ROOT/util/dielectron/dielectron/TRDpidEff_eleProb07_TRDntr4_6.root";
+ if(!isGSItrain) pidTab="$ALICE_ROOT/PWGDQ/dielectron/files/TRDpidEff_eleProb07_TRDntr4_6.root";
+
+ if (gSystem->AccessPathName(gSystem->ExpandPathName(pidTab.Data())))
+ Error("ConfigPbPb","PID table not found: %s",pidTab.Data());
+ else
+ die->SetTRDcorrectionFilename(pidTab.Data());
+ }
+ */
+
// histogram setup
InitHistograms(die,cutDefinition);
printf(" Add %d class types to the histo manager \n",die->GetHistogramList()->GetEntries());
-
+ // HF array setup
+ InitHF(die,cutDefinition);
// CF container setup, switched off
- if(cutDefinition < kEtaGap01 ||
- cutDefinition == kSubRndm ) {
- if(0) InitCF(die,cutDefinition);
- if(0) printf(" Add %d pair, %d leg vars, %p steps and %p bins to the container \n",
+ InitCF(die,cutDefinition);
+ /* printf(" Add %d pair, %d leg vars, %p steps and %p bins to the container \n",
die->GetCFManagerPair()->GetNvarsPair(),die->GetCFManagerPair()->GetNvarsLeg(),
die->GetCFManagerPair()->GetContainer(), die->GetCFManagerPair()->GetContainer() );
- }
-
- // HF arrays setup
- InitHF(die,cutDefinition);
+ */
// bgrd estimators
- if(!hasMC) {
- printf(" Activate bgrd estimators: ME and ROT \n");
-
- // rotations
- AliDielectronTrackRotator *rot=new AliDielectronTrackRotator;
- rot->SetIterations(10);
- rot->SetConeAnglePhi(TMath::Pi());
- rot->SetStartAnglePhi(TMath::Pi());
- // die->SetTrackRotator(rot);
-
- // mixing
- AliDielectronMixingHandler *mix=new AliDielectronMixingHandler;
- //mix->AddVariable(AliDielectronVarManager::kZvPrim, 20,-10.,10.);
- //mix->AddVariable(AliDielectronVarManager::kCentrality, 8, 0.,5.);
- //mix->AddVariable(AliDielectronVarManager::kv0ACrpH2, 8, TMath::Pi()/-2., TMath::Pi()/2.);
- mix->SetMixType(AliDielectronMixingHandler::kAll);
- mix->SetDepth(150);
- die->SetMixingHandler(mix);
-
- // TPC event plane configurations
- Double_t gGap;
- switch(cutDefinition) {
- case kEtaGap01: gGap=0.1; break;
- case kEtaGap02: gGap=0.2; break;
- case kEtaGap03: gGap=0.3; break;
- case kEtaGap04: gGap=0.4; break;
- case kEtaGap05: gGap=0.5; break;
- default: gGap=0.0;
- }
-
- AliDielectronVarCuts *poi = new AliDielectronVarCuts("PoI","PoI");
- poi->AddCut(AliDielectronVarManager::kM,2.92,3.20); // particles of interest, jpsi mass window
- die->GetEventPlanePOIPreFilter().AddCuts(poi);
+ if(!hasMC) ConfigBgrd(die,cutDefinition);
- if(cutDefinition >= kEtaGap01 &&
- cutDefinition < kSubLS ) {
- AliDielectronVarCuts *etaGap = new AliDielectronVarCuts(AliDielectronVarManager::GetValueName(AliDielectronVarManager::kEta),"etaGap");
- etaGap->AddCut(AliDielectronVarManager::kEta,-1*gGap,gGap,kTRUE);
- die->GetEventPlanePreFilter().AddCuts(etaGap);
- }
-
- if(cutDefinition==kSubLS) die->SetLikeSignSubEvents();
- die->SetPreFilterEventPlane();
- }
+ // tpc event plane configuration
+ ConfigEvtPlane(die,cutDefinition);
// prefilter settings
die->SetPreFilterUnlikeOnly();
//die->SetNoPairing();
// setup eta correction
- // if(isESD && list.Contains("LHC10h")) SetEtaCorrection();
+ // if(isESD && list.Contains("LHC10h")) SetEtaCorrection();
// VZERO calibration
- TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
- if (!trainRoot.IsNull()) {
+ if (isGSItrain && list.Contains("LHC10h")) {
die->SetVZEROCalibrationFilename("$TRAIN_ROOT/util/dielectron/dielectron/VzeroCalibrationLHC10h.root");
die->SetVZERORecenteringFilename("$TRAIN_ROOT/util/dielectron/dielectron/VzeroRecenteringLHC10h.root");
}
}
//______________________________________________________________________________________
-void SetupEventCuts(AliDielectron *die, ULong64_t triggers)
+void SetupEventCuts(AliDielectron *die, ULong64_t triggers, Int_t cutDefinition)
{
//
// Setup the event cuts
default: minCent= 0.; maxCent=80.; break;
}
}
+ // if(cutDefinition >= kEtaGap01) {minCent=20.; maxCent=50.;} // v2 analysis
+
+ // VZERO multiplicity vs. number ob global tracks cut
+ TF1 *fMean = new TF1("fMean", "pol1", 0,25e+3);
+ fMean->SetParameters(691.633, 1.4892);
+ TF1 *fSigma = new TF1("fSigma","[0]+sqrt([1]*x+[2])",0,25e+3);
+ fSigma->SetParameters(-83.6599, 36.7677, 69530.7);
AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","eventCuts");
if(!isESD) eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny);
eventCuts->SetMinVtxContributors(1);
eventCuts->SetVertexZ(-10.,+10.);
eventCuts->SetCentralityRange(minCent,maxCent);
-
- /*
- TF1 *fMean = new TF1("fMean", "pol1", 0,25e+3);
- fMean->SetParameters(631.301, 1.49836);
- TF1 *fSigma = new TF1("fSigma","[0]+sqrt([1]*x+[2])",0,25e+3);
- fSigma->SetParameters(-25.7843, 32.8055, 35275.7);
eventCuts->SetCutOnV0MultipicityNTrks(fMean, fSigma, 4.0);
- */
-
eventCuts->Print();
die->GetEventFilter().AddCuts(eventCuts);
// Quality cuts
AliDielectronCutGroup* cuts = new AliDielectronCutGroup("cuts","cuts",AliDielectronCutGroup::kCompAND);
- // cuts->AddDielectron(die);
die->GetTrackFilter().AddCuts(cuts);
// AOD track filter (needs to be first cut to speed up)
AliDielectronTrackCuts *trkFilter = new AliDielectronTrackCuts("TrkFilter","TrkFilter");
- // trkFilter->AddCutQA(die->GetHistoManager());
trkFilter->SetAODFilterBit(AliDielectronTrackCuts::kTPCqual);
// trkFilter->SetMinNCrossedRowsOverFindable(0.6);
if(!isESD) cuts->AddCut(trkFilter);
//Pt cut, should make execution a bit faster
AliDielectronVarCuts *pt = new AliDielectronVarCuts("PtCut","PtCut");
- // pt->AddCutQA(die->GetHistoManager());
pt->AddCut(AliDielectronVarManager::kPt,1.1,1e30); //0.8
cuts->AddCut(pt);
// track cuts ESD and AOD
AliDielectronVarCuts *varCuts = new AliDielectronVarCuts("VarCuts","VarCuts");
- // varCuts->AddCutQA(die->GetHistoManager());
varCuts->AddCut(AliDielectronVarManager::kImpactParXY, -1.0, 1.0);
varCuts->AddCut(AliDielectronVarManager::kImpactParZ, -3.0, 3.0);
- varCuts->AddCut(AliDielectronVarManager::kEta, -0.9, 0.9);
+ varCuts->AddCut(AliDielectronVarManager::kEta, -0.9, 0.9); // -0.9, 0.9
varCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl, 0.0, 4.0);
varCuts->AddCut(AliDielectronVarManager::kNclsTPC, 70.0, 160.0);
varCuts->AddCut(AliDielectronVarManager::kKinkIndex0, 0.0);
varCuts->Print();
AliDielectronTrackCuts *trkCuts = new AliDielectronTrackCuts("TrkCuts","TrkCuts");
- // trkCuts->AddCutQA(die->GetHistoManager());
- // trkCuts->SetClusterRequirementITS(AliDielectronTrackCuts::kSPD,AliDielectronTrackCuts::kAny);
- // trkCuts->SetClusterRequirementITS(AliDielectronTrackCuts::kSPD,AliDielectronTrackCuts::kFirst);
trkCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 15); // ITS-4 = 1+2+4+8
// trkCuts->SetMaxWaivedITSNcls(1);
trkCuts->SetRequireITSRefit(kTRUE);
/* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv PID CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
AliDielectronPID *pid = new AliDielectronPID("PID","PID");
- // pid->AddCutQA(die->GetHistoManager());
////////////////////////////////// DATA
if(!hasMC) {
pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,4.0,0.,0.,kTRUE);
// exclude conversion electrons selected by the tender
AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","noConv");
noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
- cuts->AddCut(noconv);
+ // cuts->AddCut(noconv);
}
+//______________________________________________________________________________________
+void SetupV0Cuts(AliDielectron *die, Int_t cutDefinition)
+{
+ //
+ // Setup the V0 cuts
+ //
+
+ // Quality cuts
+ TIter next(die->GetTrackFilter().GetCuts());
+ AliAnalysisCuts *cuts;
+ while((cuts = (AliAnalysisCuts*)next())) {
+ if(cuts->IsA() == AliDielectronCutGroup::Class()) break;
+ }
+
+ AliDielectronV0Cuts *gammaV0Cuts = new AliDielectronV0Cuts("IsGamma","IsGamma");
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kCosPointingAngle, TMath::Cos(0.02), 1.0);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kChi2NDF, 0.0, 10.0);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kLegDist, 0.0, 0.25);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kR, 3.0, 90.0);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kPsiPair, 0.0, 0.05);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kM, 0.0, 0.05);
+ // gammaV0Cuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0, 0.1);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kArmPt, 0.0, 0.05);
+ gammaV0Cuts->AddCut(AliDielectronVarManager::kArmAlpha, -0.35, 0.35);
+ gammaV0Cuts->Print();
+
+ // const Double_t |cutAlphaG| < 0.35; && const Double_t cutQTG < 0.05;
+ // const Double_t |cutAlphaG2|[2] = {0.6, 0.8}; && const Double_t cutQTG2 < 0.04;
+
+ if(cuts)
+ ((AliDielectronCutGroup*)cuts)->AddCut(gammaV0Cuts);
+ else
+ die->GetTrackFilter().AddCuts(gammaV0Cuts);
+}
+
//______________________________________________________________________________________
void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
{
}
+//______________________________________________________________________________________
+void ConfigBgrd(AliDielectron *die, Int_t cutDefinition)
+{
+ //
+ // Configurate the background estimators
+ //
+
+ // add track rotations
+ AliDielectronTrackRotator *rot=new AliDielectronTrackRotator;
+ rot->SetIterations(10);
+ rot->SetConeAnglePhi(TMath::Pi());
+ rot->SetStartAnglePhi(TMath::Pi());
+ // die->SetTrackRotator(rot);
+
+ // add mixed events
+ AliDielectronMixingHandler *mix=new AliDielectronMixingHandler;
+ mix->AddVariable(AliDielectronVarManager::kZvPrim, "-10.,-5.,-4.,-3.,-2.,-1.,0.,1.,2.,3.,4.,5.,10.");
+ // mix->AddVariable(AliDielectronVarManager::kCentrality, 8, 0.,80.);
+ mix->AddVariable(AliDielectronVarManager::kTPCrpH2, 8, TMath::Pi()/-2., TMath::Pi()/2.);
+ mix->AddVariable(AliDielectronVarManager::kTPCmagH2, "0.,20.,50.,80.,110.,150.,500.");
+ mix->SetMixType(AliDielectronMixingHandler::kAll);
+ mix->SetDepth(150);
+ die->SetMixingHandler(mix);
+
+}
+
+//______________________________________________________________________________________
+void ConfigEvtPlane(AliDielectron *die, Int_t cutDefinition)
+{
+ //
+ // Configurate the TPC event plane
+ //
+
+ Double_t gGap;
+ switch(cutDefinition) {
+ case kEtaGap01: gGap=0.1; break;
+ case kEtaGap02: gGap=0.2; break;
+ case kEtaGap03: gGap=0.3; break;
+ case kEtaGap04: gGap=0.4; break;
+ case kEtaGap05: gGap=0.5; break;
+ default: gGap=0.0;
+ }
+
+ AliDielectronVarCuts *poi = new AliDielectronVarCuts("PoI","PoI");
+ poi->AddCut(AliDielectronVarManager::kM,2.92,3.20); // particles of interest, jpsi mass window
+ die->GetEventPlanePOIPreFilter().AddCuts(poi);
+
+ // eta gap in tpc event plane
+ if(cutDefinition >= kEtaGap01 &&
+ cutDefinition < kSubLS ) {
+ AliDielectronVarCuts *etaGap = new AliDielectronVarCuts(AliDielectronVarManager::GetValueName(AliDielectronVarManager::kEta),"etaGap");
+ etaGap->AddCut(AliDielectronVarManager::kEta,-1*gGap,gGap,kTRUE);
+ die->GetEventPlanePreFilter().AddCuts(etaGap);
+ }
+
+ if(cutDefinition==kSubLS) die->SetLikeSignSubEvents();
+ die->SetPreFilterEventPlane();
+}
+
//______________________________________________________________________________________
void InitHistograms(AliDielectron *die, Int_t cutDefinition)
{
Bool_t bHistTrackQA=kFALSE, bHistEvts = kFALSE, bHistPair = kFALSE, bHistPairME = kFALSE, bHistFlow = kFALSE, bHistFlowQA=kFALSE;
switch (cutDefinition) {
case kTPC:
- case kTOF: bHistEvts=kTRUE; bHistFlow=kTRUE; bHistPair=kTRUE; bHistPairME=kTRUE; break;
+ case kTOF: bHistEvts=kTRUE; bHistFlow=kTRUE; bHistPair=kTRUE; bHistPairME=kFALSE; break;
case kTRD:
case kTOFTRD:
case kTOFTRD2D: bHistFlow=kTRUE; bHistPair=kTRUE; break;
//add histograms to event class
histos->AddClass("Event");
- histos->UserHistogram("Event","Centrality","Centrality;centrality (%);events",
- 100, 0.0, 100.0,
- AliDielectronVarManager::kCentrality);
+ histos->UserHistogram("Event","","", 100, 0.0, 100.0, AliDielectronVarManager::kCentrality);
////// EVENT HISTOS /////
if(bHistEvts) {
- histos->UserHistogram("Event","RunNumber","Events per run;run;events",
- GetRunNumbers(),
- AliDielectronVarManager::kRunNumber);
- histos->UserHistogram("Event","RunNumber_VtxZ",";run;z_{vtx} (cm)",
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(150,-15.,15.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kZvPrim);
- histos->UserHistogram("Event","RunNumber_Multiplicity",";run;multiplicity V0",
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(250,0.,25000.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kMultV0);
- histos->UserHistogram("Event","RunNumber_v0ArpH2",";run;#Psi_{2}^{V0A} (rad.)",
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(100,-2.,+2.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kv0ArpH2);
- histos->UserHistogram("Event","RunNumber_v0CrpH2",";run;#Psi_{2}^{V0C} (rad.)",
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(100,-2.,+2.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kv0CrpH2);
- histos->UserHistogram("Event","RunNumber_TPCrpH2",";run;#Psi_{2}^{TPC} (rad.)",
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(100,-2.,+2.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kTPCrpH2);
-
- histos->UserHistogram("Event","VtxZ","Vertex Z;z_{vtx} (cm)", 300,-15.,15.,
- AliDielectronVarManager::kZvPrim);
- histos->UserHistogram("Event","Multiplicity","Multiplicity V0;Multiplicity V0;events", 500,0.,25000.,
- AliDielectronVarManager::kMultV0);
- histos->UserHistogram("Event","Cent_Mult","Centrality vs. Multiplicity;centrality (%);Multiplicity V0",
- 100,0.,100., 250,0.,25000.,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kMultV0);
- histos->UserProfile("Event","Cent_Nacc", "accepted tracks;centrality (%)",
- AliDielectronVarManager::kNacc,
- "0.,5.,10.,20.,40.,50.,60.,80.,100.",
- AliDielectronVarManager::kCentrality);
- histos->UserProfile("Event","Cent_NVtxContrib", "number of vertex contributors;centrality (%)",
- AliDielectronVarManager::kNVtxContrib,
- 100,0.,100.,
- AliDielectronVarManager::kCentrality);
+ histos->UserHistogram("Event","","", GetRunNumbers(), AliDielectronVarManager::kRunNumber);
+ histos->UserHistogram("Event","","", 300,-15.,15., AliDielectronVarManager::kZvPrim);
+ histos->UserProfile( "Event","","", AliDielectronVarManager::kNacc, 80, 0., 80., AliDielectronVarManager::kCentrality);
+ histos->UserProfile( "Event","","", AliDielectronVarManager::kNVtxContrib, 80, 0., 80., AliDielectronVarManager::kCentrality);
} //hist: event
////// FLOW //////
if(bHistFlow) {
-
+ // EP Qvector magnitudes // TODO move to QA
+ histos->UserHistogram("Event","","", 200,0.,200., AliDielectronVarManager::kTPCmagH2uc);
+ histos->UserHistogram("Event","","", 200,0.,800., AliDielectronVarManager::kv0ACmagH2);
+ histos->UserHistogram("Event","","", 200,0.,800., AliDielectronVarManager::kv0AmagH2);
+ histos->UserHistogram("Event","","", 200,0.,800., AliDielectronVarManager::kv0CmagH2);
// RP angles versus centrality
- histos->UserHistogram("Event","Cent_TPCrpH2","TPC RP;centrality (%);#Psi^{TPC} (rad.)",
- 10,0.,100.,100,-2.,2.,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCrpH2);
- histos->UserHistogram("Event","Cent_TPCsub1rpH2","TPC-1 RP;centrality (%);#Psi^{sub1} (rad.)",
- 10,0.,100.,100,-2.,2.,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCsub1rpH2);
- histos->UserHistogram("Event","Cent_TPCsub2rpH2","TPC-2 RP;centrality (%);#Psi^{sub2} (rad.)",
- 10,0.,100.,100,-2.,2.,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCsub2rpH2);
-
- histos->UserHistogram("Event","Cent_v0ACrpH2","VZERO-AC RP;centrality (%);#Psi_{2}^{V0AC} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0ACrpH2);
- histos->UserHistogram("Event","Cent_v0ArpH2","VZERO-A RP;centrality (%);#Psi_{2}^{V0A} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0ArpH2);
- histos->UserHistogram("Event","Cent_v0CrpH2","VZERO-C RP;centrality (%);#Psi_{2}^{V0C} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0CrpH2);
-
- histos->UserHistogram("Event","Cent_v0A0rpH2","VZERO-A RP;centrality (%);#Psi_{2}^{V0A0} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0A0rpH2);
- histos->UserHistogram("Event","Cent_v0A3rpH2","VZERO-A RP;centrality (%);#Psi_{2}^{V0A3} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0A3rpH2);
- histos->UserHistogram("Event","Cent_v0C0rpH2","VZERO-C RP;centrality (%);#Psi_{2}^{V0C0} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0C0rpH2);
- histos->UserHistogram("Event","Cent_v0C3rpH2","VZERO-C RP;centrality (%);#Psi_{2}^{V0C3} (rad.)",
- 10,0.,100.,100,-2.0,2.0,
- AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0C3rpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCrpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCsub1rpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCsub2rpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0ArpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0CrpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0ACrpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0A0rpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0C0rpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0A3rpH2);
+ histos->UserHistogram("Event","","", 16,0.,80.,100,-2.,2., AliDielectronVarManager::kCentrality,AliDielectronVarManager::kv0C3rpH2);
} // hist: flow
if(bHistFlowQA) {
histos->UserHistogram("Event","","", 100, -2., 2., AliDielectronVarManager::kTPCsub1rpH2);
histos->UserHistogram("Event","","", 100, -2., 2., AliDielectronVarManager::kTPCsub2rpH2);
histos->UserHistogram("Event","","", 100, -1., 1., AliDielectronVarManager::kTPCsub12DiffH2);
-
// EP resolution calculation
- histos->UserHistogram("Event","","", 10,0.,100., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0ATPCDiffH2);
- histos->UserHistogram("Event","","", 10,0.,100., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0ATPCDiffH2);
- histos->UserHistogram("Event","","", 10,0.,100., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0Av0CDiffH2);
- histos->UserHistogram("Event","","", 10,0.,100., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kTPCsub12DiffH2);
-
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0ATPCDiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0CTPCDiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0Av0CDiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kTPCsub12DiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0Av0C0DiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0Av0C3DiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0Cv0A0DiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0Cv0A3DiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0A0v0A3DiffH2);
+ histos->UserHistogram("Event","","", 80,0.,80., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kv0C0v0C3DiffH2);
// detector effects
histos->UserHistogram("Event","","", 10,0.,100., 300,-1.0,1.0, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kTPCsub12DiffH2Sin);
-
// recentering stuff
- histos->UserProfile("Pair","TPCxH2-Cent-RunNumber", ";centrality (%);run;#LTQ_{x}#GT",
- AliDielectronVarManager::kTPCxH2,
- AliDielectronHelper::MakeLinBinning(10, 0.,100.), GetRunNumbers(),
+ histos->UserProfile("Event","","", AliDielectronVarManager::kTPCxH2,
+ AliDielectronHelper::MakeLinBinning(8, 0.,80.), GetRunNumbers(),
AliDielectronVarManager::kCentrality, AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Pair","TPCyH2-Cent-RunNumber", ";centrality (%);run;#LTQ_{x}#GT",
- AliDielectronVarManager::kTPCyH2,
- AliDielectronHelper::MakeLinBinning(10, 0.,100.), GetRunNumbers(),
+ histos->UserProfile("Event","","", AliDielectronVarManager::kTPCyH2,
+ AliDielectronHelper::MakeLinBinning(8, 0.,80.), GetRunNumbers(),
AliDielectronVarManager::kCentrality, AliDielectronVarManager::kRunNumber);
-
} //hist: flowQA
-
- // RUN QA
- if(bHistTrackQA) {
-
- // Event QA
- histos->UserHistogram("Event","RunNumber","Events per run;run;#events",
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Event","RunNumber-Centrality",";run;#LTcentrality#GT (%)", AliDielectronVarManager::kCentrality,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Event","RunNumber-CentralitySPD",";run;#LTcentrality_{SPD}#GT (%)", AliDielectronVarManager::kCentralitySPD,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Event","RunNumber-VtxZ",";run;#LTz_{vtx}#GT (cm)", AliDielectronVarManager::kZvPrim,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Event","RunNumber-sigVtxZ",";run;#LTRMS(z_{vtx})#GT (cm)", AliDielectronVarManager::kZvPrim,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber, "s;-10;10");
-
- //Track classes
- histos->SetReservedWords("Track");
- for (Int_t i=0; i<2; ++i) histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
-
- histos->UserProfile("Track","RunNumber-Pt",";run;#LTp_{T}#GT (GeV/c)", AliDielectronVarManager::kPt,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber-Eta",";run;#LT#eta#GT", AliDielectronVarManager::kEta,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber-Phi",";run;#LT#varphi#GT", AliDielectronVarManager::kPhi,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber-ImpactParXY",";run;#LTdXY#GT (cm)", AliDielectronVarManager::kImpactParXY,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber-ImpactParZ",";run;#LTdZ#GT (cm)", AliDielectronVarManager::kImpactParZ,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- // TPC
- histos->UserProfile("Track","RunNumber-NclsTPC",";run;#LTN_{cls}^{TPC}#GT", AliDielectronVarManager::kNclsTPC,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber_Cent-NclsTPC",";run;centrality (%);#LTN_{cls}^{TPC}#GT", AliDielectronVarManager::kNclsTPC,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(32, 0.,80.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kCentrality);
- histos->UserProfile("Track","RunNumber_Eta-NclsTPC",";run;#eta;#LTN_{cls}^{TPC}#GT", AliDielectronVarManager::kNclsTPC,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(20, -1.,+1.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kEta);
- histos->UserProfile("Track","RunNumber_Phi-NclsTPC",";run;#varphi;#LTN_{cls}^{TPC}#GT", AliDielectronVarManager::kNclsTPC,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(18, 0.,TMath::Pi()),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kPhi);
-
- // ITS
- histos->UserProfile("Track","RunNumber-NclsITS",";run;#LTN_{cls}^{ITS}#GT", AliDielectronVarManager::kNclsITS,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber_Cent-NclsITS",";run;centrality (%);#LTN_{cls}^{ITS}#GT", AliDielectronVarManager::kNclsITS,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(32, 0.,80.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kCentrality);
- histos->UserProfile("Track","RunNumber_Eta-NclsITS",";run;#eta;#LTN_{cls}^{ITS}#GT", AliDielectronVarManager::kNclsITS,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(20, -1.,+1.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kEta);
- histos->UserProfile("Track","RunNumber_Phi-NclsITS",";run;#varphi;#LTN_{cls}^{ITS}#GT", AliDielectronVarManager::kNclsITS,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(18, 0.,TMath::Pi()),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kPhi);
-
- // TPC PID
- histos->UserProfile("Track","RunNumber-TPCnSigmaEle",";run;#LTn#sigma_{ele}^{TPC}#GT", AliDielectronVarManager::kTPCnSigmaEle,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber_Cent-TPCnSigmaEle",";run;centrality (%);#LTn#sigma_{ele}^{TPC}#GT", AliDielectronVarManager::kTPCnSigmaEle,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(32, 0.,80.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kCentrality);
- histos->UserProfile("Track","RunNumber_Eta-TPCnSigmaEle",";run;#eta;#LTn#sigma_{ele}^{TPC}#GT", AliDielectronVarManager::kTPCnSigmaEle,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(20, -1.,+1.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kEta);
- histos->UserProfile("Track","RunNumber_Phi-TPCnSigmaEle",";run;#varphi;#LTn#sigma_{ele}^{TPC}#GT", AliDielectronVarManager::kTPCnSigmaEle,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(18, 0.,TMath::Pi()),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kPhi);
- // TOF PID
- histos->UserProfile("Track","RunNumber-TOFnSigmaEle",";run;#LTn#sigma_{ele}^{TOF}#GT", AliDielectronVarManager::kTOFnSigmaEle,
- GetRunNumbers(), AliDielectronVarManager::kRunNumber);
- histos->UserProfile("Track","RunNumber_Cent-TOFnSigmaEle",";run;centrality (%);#LTn#sigma_{ele}^{TOF}#GT", AliDielectronVarManager::kTOFnSigmaEle,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(32, 0.,80.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kCentrality);
- histos->UserProfile("Track","RunNumber_Eta-TOFnSigmaEle",";run;#eta;#LTn#sigma_{ele}^{TOF}#GT", AliDielectronVarManager::kTOFnSigmaEle,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(20, -1.,+1.),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kEta);
- histos->UserProfile("Track","RunNumber_Phi-TOFnSigmaEle",";run;#varphi;#LTn#sigma_{ele}^{TOF}#GT", AliDielectronVarManager::kTOFnSigmaEle,
- GetRunNumbers(), AliDielectronHelper::MakeLinBinning(18, 0.,TMath::Pi()),
- AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kPhi);
- }
-
-
if(bHistPair) {
//Initialise histogram classes
histos->SetReservedWords("Track;Pair");
// histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
// Vertex
- histos->UserHistogram("Track","ImpactParXY",";dXY (cm);#tracks", 500,-1.,1.,
- AliDielectronVarManager::kImpactParXY);
- histos->UserHistogram("Track","ImpactParZ",";dZ (cm);#tracks", 600,-3.,3.,
- AliDielectronVarManager::kImpactParZ);
-
+ histos->UserHistogram("Track","","", 500,-1.,1., AliDielectronVarManager::kImpactParXY);
+ histos->UserHistogram("Track","","", 600,-3.,3., AliDielectronVarManager::kImpactParZ);
// Kinematics
- histos->UserHistogram("Track","pt",";p_{T} (GeV/c);#tracks", 400,0,20.,
- AliDielectronVarManager::kPt);
- histos->UserHistogram("Track","Eta_Phi",";#eta;#varphi;#tracks", 200,-1,1,200,0,6.285,
- AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
-
+ histos->UserHistogram("Track","","", 400,0,20., AliDielectronVarManager::kPt);
+ histos->UserHistogram("Track","","", 200,-1,1, 200,0,6.285, AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
// TPC
- histos->UserHistogram("Track","TPCnCls",";N_{cls}^{TPC};#tracks", 160,-0.5,159.5,
- AliDielectronVarManager::kNclsTPC);
- histos->UserHistogram("Track","TPCsignalN",";N_{cls}^{TPC};#tracks", 160,-0.5,159.5,
- AliDielectronVarManager::kTPCsignalN);
- histos->UserHistogram("Track","NclFr",";N_{max.cls}^{TPC};#tracks", 160,-0.5,159.5,
- AliDielectronVarManager::kNFclsTPCr);
- histos->UserHistogram("Track","Ncl_NclFr",";N_{cls}^{TPC};N_{max.cls}^{TPC};#tracks",
- 160,-0.5,159.5,160,-0.5,159.5,
- AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
-
+ histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kNclsTPC);
+ histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kTPCsignalN);
+ histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kNFclsTPCr);
+ histos->UserHistogram("Track","","", 160,-0.5,159.5, 160,-0.5,159.5, AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
// TRD
- histos->UserHistogram("Track","NtrklTRD",";N_{trkl}^{TRD};#tracks",
- 8,-0.5,7.5,
- AliDielectronVarManager::kTRDpidQuality);
-
+ histos->UserHistogram("Track","","", 8,-0.5, 7.5, AliDielectronVarManager::kTRDpidQuality);
// PID
- histos->UserHistogram("Track","dEdx_P",";p (GeV/c);TPC signal (arb units);#tracks",
- 400,0.2,20.,200,0.,200.,
- AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
- histos->UserHistogram("Track","TPCnSigmaEle_P","p (GeV/c);n#sigma_{ele}^{TPC};#tracks",
- 400,0.2,20.,200,-10.,10.,
- AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
- histos->UserHistogram("Track","TOFbeta_P",";p (GeV/c);#beta;#tracks",
- 250,0.0,5.0,300,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta,kTRUE);
+ histos->UserHistogram("Track","","", 400,0.2,20.,200,0.,200., AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
+ histos->UserHistogram("Track","","", 400,0.2,20.,200,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
+ histos->UserHistogram("Track","","", 250,0.0,5.0,300,0.,1.2, AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta,kTRUE);
+
+ histos->UserHistogram("Track","","", 10000,-5000.,5000., AliDielectronVarManager::kTrackID);
+ histos->UserHistogram("Pair","","", 210,-1.05,1.05, 100,0.,2.5, AliDielectronVarManager::kArmAlpha,AliDielectronVarManager::kArmPt);
///// add histograms to Pair classes /////
- histos->UserHistogram("Pair","InvMass",";m_{ee} (GeV/c^{2});#pairs",
- 300,.0,300*0.04, AliDielectronVarManager::kM); // 40MeV bins, 12GeV/c2
- histos->UserHistogram("Pair","Rapidity",";y;#pairs",
- 100,-1.,1., AliDielectronVarManager::kY);
- histos->UserHistogram("Pair","Pt",";p_{T} (GeV/c);#pairs",
- 400,0,20., AliDielectronVarManager::kPt);
- histos->UserHistogram("Pair","OpeningAngle",";opening angle (rad.);#pairs",
- 100,0.,3.15, AliDielectronVarManager::kOpeningAngle);
- histos->UserHistogram("Pair","Chi2NDF",";#chi^{2}/NDF;#pairs",
- 100,0.,20, AliDielectronVarManager::kChi2NDF);
- histos->UserHistogram("Pair","PsiPair",";#psi;#pairs",
- 100,0.,3.15, AliDielectronVarManager::kPsiPair);
- histos->UserHistogram("Pair","R",";r (cm)",
- 200,0.,100., AliDielectronVarManager::kR);
- histos->UserHistogram("Pair","LegDist",";dca (cm)",
- 50,0.,5., AliDielectronVarManager::kLegDist);
- histos->UserHistogram("Pair","LegDistXY",";dca_{xy} (cm)",
- 50,0.,5., AliDielectronVarManager::kLegDistXY);
+ histos->UserHistogram("Pair","","", 300,.0,300*0.04, AliDielectronVarManager::kM); // 40MeV bins, 12GeV/c2
+ histos->UserHistogram("Pair","","", 100,-1.,1., AliDielectronVarManager::kY);
+ histos->UserHistogram("Pair","","", 400,0,20., AliDielectronVarManager::kPt);
+ histos->UserHistogram("Pair","","", 100,0.,3.15, AliDielectronVarManager::kOpeningAngle);
+ histos->UserHistogram("Pair","","", 100,0.,20, AliDielectronVarManager::kChi2NDF);
+ histos->UserHistogram("Pair","","", 100,0.,3.15, AliDielectronVarManager::kPsiPair);
+ histos->UserHistogram("Pair","","", 200,0.,100., AliDielectronVarManager::kR);
+ histos->UserHistogram("Pair","","", 50,0.,5., AliDielectronVarManager::kLegDist);
+ histos->UserHistogram("Pair","","", 50,0.,5., AliDielectronVarManager::kLegDistXY);
//// FLOW results use tprofiles
if(bHistFlow) {
- histos->UserProfile("Pair","M_Cent_Pt_v0ACrpH2FlowV2",
+ histos->UserProfile("Pair","",
"cos(2(#varphi-#Psi^{V0AC}));mass (GeV/c^{2});centrality (%);p_{T} (GeV/c)",
AliDielectronVarManager::kv0ACrpH2FlowV2,
125,0.,125*.04, 10, 0.,100., 200,0.,100.,
AliDielectronVarManager::kM, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kPt);
- histos->UserProfile("Pair","M_Cent_Pt_v0ArpH2FlowV2",
+ histos->UserProfile("Pair","",
"cos(2(#varphi-#Psi^{V0A}));mass (GeV/c^{2});centrality (%);p_{T} (GeV/c)",
AliDielectronVarManager::kv0ArpH2FlowV2,
125,0.,125*.04, 10, 0.,100., 200,0.,100.,
AliDielectronVarManager::kM, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kPt);
- histos->UserProfile("Pair","M_Cent_Pt_v0CrpH2FlowV2",
+ histos->UserProfile("Pair","",
"cos(2(#varphi-#Psi^{V0C}));mass (GeV/c^{2});centrality (%);p_{T} (GeV/c)",
AliDielectronVarManager::kv0CrpH2FlowV2,
125,0.,125*.04, 10, 0.,100., 200,0.,100.,
AliDielectronVarManager::kM, AliDielectronVarManager::kCentrality, AliDielectronVarManager::kPt);
+
+ histos->UserProfile("Pair","","", AliDielectronVarManager::kv0ArpH2FlowV2,
+ 125,0.,125*.04, 10, 0.,100., AliDielectronVarManager::kM, AliDielectronVarManager::kCentrality);
+
} //hist: flow
} //hist: pair
// Setup the HF arrays
//
+
AliDielectronHF *hf=new AliDielectronHF(die->GetName(),die->GetTitle());
// if(hasMC) hf->SetStepForMCGenerated();
hf->SetPairTypes(AliDielectronHF::kAll);
hf->AddCutVariable(AliDielectronVarManager::kCentrality, "0.,5.,10.,20.,40.,50.,60.,80." );
hf->AddCutVariable(AliDielectronVarManager::kPt, "0.,2.5,5.,100." );
hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiv0ArpH2, 8,-1.*TMath::Pi(),TMath::Pi());
+ hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiv0CrpH2, 8,-1.*TMath::Pi(),TMath::Pi());
// hf->AddCutVariable(AliDielectronVarManager::kY, 1, -0.9, 0.9 );
// hf->AddCutVariable(AliDielectronVarManager::kPt, "0.8, 1.0, 1.1, 1.2, 1.5, 100.0", kTRUE, AliDielectronHF::kBinToMax);
// hf->AddCutVariable(AliDielectronVarManager::kNclsTPC, "70,90,100,120,160", kTRUE, AliDielectronHF::kBinToMax);
// Setup the CF Manager if needed
//
- AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
+ // switch off ep systematics
+ if(cutDefinition > kEtaGap01 && cutDefinition != kSubRndm ) continue;
+
+ AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
// event variables
- cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,5.,10.,20.,40.,50.,60.,80.");
+ cf->AddVariable(AliDielectronVarManager::kCentrality, "0.,5.,10.,20.,40.,50.,60.,80.");
+ // pair variables
+ cf->AddVariable(AliDielectronVarManager::kPairType, 11, 0, 11);
+ cf->AddVariable(AliDielectronVarManager::kM, 125, 0.0, 0.04*125); // 40MeV bins
+ cf->AddVariable(AliDielectronVarManager::kPt, "0., 1., 2.5, 5., 100.0");
+ cf->AddVariable(AliDielectronVarManager::kDeltaPhiv0ArpH2, GetDeltaPhiBins());
+ cf->AddVariable(AliDielectronVarManager::kDeltaPhiv0CrpH2, GetDeltaPhiBins());
+
+ /*
// if(!hasMC) cf->AddVariable(AliDielectronVarManager::kZvPrim,20, -10., 10.);
if(hasMC) cf->AddVariable(AliDielectronVarManager::kNacc,20,0.,3000.0);
if(hasMC) cf->AddVariable(AliDielectronVarManager::kNVtxContrib,20,0.,4000.);
// cf->AddVariable(AliDielectronVarManager::kTOFnSigmaEle,"-3,-2,2,3",kTRUE); break;
// cf->AddVariable(AliDielectronVarManager::kTRDpidQuality,"3.5, 4.5, 5.5, 6.5",kTRUE);
// if(!hasMC && isESD) cf->AddVariable(AliDielectronVarManager::kTRDchi2,"-1.,0.,2.,4.",kTRUE);
-
+ */
// mc steps
if(hasMC) {
if(cutDefinition==kTOFTRD) cf->SetStepForMCtruth();
return vec;
}
+
+TVectorD *GetDeltaPhiBins() {
+ //
+ // for in and out of event plane bins
+ //
+ Double_t pi = TMath::Pi();
+ TVectorD *deltaPhi = new TVectorD(6);
+ (*deltaPhi)[0] = -1. *pi;
+ (*deltaPhi)[1] = -3./4. *pi;
+ (*deltaPhi)[2] = -1./4. *pi;
+ (*deltaPhi)[3] = +1./4. *pi;
+ (*deltaPhi)[4] = +3./4. *pi;
+ (*deltaPhi)[5] = +1. *pi;
+ return deltaPhi;
+}