AddTaskTOFQA macro modified to include selection of trigger mask and track cuts.
/* created by fbellini@cern.ch on 14/09/2010 */
/* last modified by fbellini on 11/11/2011 */
-AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE)
+AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE,
+ UInt_t triggerMask = AliVEvent::kAnyINT,
+ Int_t trackCutSetTOFqa = 0,
+ TString cutName = "")
{
// Task for checking TOF QA
// Create the task
AliAnalysisTaskTOFqa *task = new AliAnalysisTaskTOFqa("taskTOFqa");
task->EnableAdvancedCheck(flagEnableAdvancedCheck);
+ task->SelectCollisionCandidates(triggerMask);
//AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqa",1);
mgr->AddTask(task);
/* cuts used for QA in 2010 p-p */
- /*
- AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010");
- esdTrackCutsLoose2010->SetMinNClustersTPC(70);
- esdTrackCutsLoose2010->SetMaxChi2PerClusterTPC(3.5);
- esdTrackCutsLoose2010->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
- esdTrackCutsLoose2010->SetRequireTPCRefit(kTRUE);
- esdTrackCutsLoose2010->SetMaxDCAToVertexXY(3.0);
- esdTrackCutsLoose2010->SetMaxDCAToVertexZ(3.0);
- esdTrackCutsLoose2010->SetRequireSigmaToVertex(kTRUE);
- esdTrackCutsLoose2010->SetAcceptKinkDaughters(kFALSE);
- esdTrackCutsLoose2010->SetMaxNsigmaToVertex(4.0);
- */
- /* standard cuts ITS-TPC 2010 */
- AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010");
- // TPC
- esdTrackCutsStd2010->SetMinNClustersTPC(70);
- esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4);
- esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE);
- esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE);
- // ITS
- esdTrackCutsStd2010->SetRequireITSRefit(kTRUE);
- esdTrackCutsStd2010->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
- AliESDtrackCuts::kAny);
- esdTrackCutsStd2010->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
- esdTrackCutsStd2010->SetMaxDCAToVertexZ(2);
- esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE);
- esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE);
-
+ //Define track cut set
+ AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "TrackCutsTOFqa");
AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
- trackFilter->AddCuts(esdTrackCutsStd2010);
- task->SetTrackFilter(trackFilter);
-
+
+ if ( (trackCutSetTOFqa<0) || (trackCutSetTOFqa>=AliAnalysisTaskTOFqaID::kNCutSetTOFqa) ) trackCutSetTOFqa = 0;
+
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kRun1Cuts ) {
+ //use track cuts used for QA during run1 (before July 2014)
+ esdTrackCuts->SetMinNClustersTPC(70);
+ esdTrackCuts->SetMaxChi2PerClusterTPC(4);
+ esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
+ esdTrackCuts->SetRequireTPCRefit(kTRUE);
+ esdTrackCuts->SetRequireITSRefit(kTRUE);
+ esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+ AliESDtrackCuts::kAny);
+ esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
+ esdTrackCuts->SetMaxDCAToVertexZ(2);
+ esdTrackCuts->SetDCAToVertex2D(kFALSE);
+ esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+ } else {
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010 ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,0);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,1);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,0);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,1);
+ }
+
+ trackFilter->AddCuts(esdTrackCuts);
+ task->SetTrackFilter(trackFilter);
// Create containers for input/output
AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
- AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer("cGeneralTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
- AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer("cTimeZeroTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
- AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer("cPIDTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
- AliAnalysisDataContainer *cPosTracksTOFqa = mgr->CreateContainer("cPosTracksTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
- AliAnalysisDataContainer *cNegTracksTOFqa = mgr->CreateContainer("cNegTracksTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+ AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("cGeneralTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+ AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("cTimeZeroTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+ AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("cPIDTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+ AliAnalysisDataContainer *cPosTracksTOFqa = mgr->CreateContainer(Form("cPosTracksTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+ AliAnalysisDataContainer *cNegTracksTOFqa = mgr->CreateContainer(Form("cNegTracksTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
// Attach i/o
mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
// UInt_t kTriggerMuonBarell = AliVEvent::kMUU7;
// UInt_t kTriggerEMC = AliVEvent::kEMC7;
// UInt_t kTriggerHM = AliVEvent::kHighMult;
-UInt_t kTriggerInt = AliVEvent::kAnyINT;
-UInt_t kTriggerMask = kTriggerInt;
+// UInt_t kTriggerInt = AliVEvent::kAnyINT;
+// UInt_t kTriggerMask = kTriggerInt;
-AliAnalysisTaskSE * AddTaskTOFqaID(UInt_t triggerMask = kTriggerMask,
- Bool_t flagEnableAdvancedCheck=kFALSE,
- Bool_t useStdCuts2011 = kTRUE,
+AliAnalysisTaskSE * AddTaskTOFqaID(Bool_t flagEnableAdvancedCheck=kFALSE,
+ UInt_t triggerMask = AliVEvent::kAnyINT,
+ Int_t trackCutSetTOFqa = 0,
+ TString cutName = "",
Bool_t isMC = kFALSE,
Short_t absPdgCode = 0)
{
//AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqaID",4);
mgr->AddTask(task);
- /* cuts used for QA in 2010 p-p */
- /*
- AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010");
- esdTrackCutsLoose2010->SetMinNClustersTPC(70);
- esdTrackCutsLoose2010->SetMaxChi2PerClusterTPC(3.5);
- esdTrackCutsLoose2010->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
- esdTrackCutsLoose2010->SetRequireTPCRefit(kTRUE);
- esdTrackCutsLoose2010->SetMaxDCAToVertexXY(3.0);
- esdTrackCutsLoose2010->SetMaxDCAToVertexZ(3.0);
- esdTrackCutsLoose2010->SetRequireSigmaToVertex(kTRUE);
- esdTrackCutsLoose2010->SetAcceptKinkDaughters(kFALSE);
- esdTrackCutsLoose2010->SetMaxNsigmaToVertex(4.0);
- */
+ //Define track cut set
+ AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "TrackCutsTOFqa");
+ AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
+
+ if ( (trackCutSetTOFqa<0) || (trackCutSetTOFqa>=AliAnalysisTaskTOFqaID::kNCutSetTOFqa) ) trackCutSetTOFqa = 0;
- /* standard cuts ITS-TPC 2010 */
- AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010");
- esdTrackCutsStd2010->GetStandardITSTPCTrackCuts2010(kTRUE,0);
- // TPC
- // esdTrackCutsStd2010->SetMinNClustersTPC(70);
- // esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4);
- // esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE);
- // esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE);
- // // ITS
- // esdTrackCutsStd2010->SetRequireITSRefit(kTRUE);
- // esdTrackCutsStd2010->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
- // AliESDtrackCuts::kAny);
- // esdTrackCutsStd2010->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
- // esdTrackCutsStd2010->SetMaxDCAToVertexZ(2);
- // esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE);
- // esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kRun1Cuts ) {
+ //use track cuts used for QA during run1 (before July 2014)
+ esdTrackCuts->SetMinNClustersTPC(70);
+ esdTrackCuts->SetMaxChi2PerClusterTPC(4);
+ esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
+ esdTrackCuts->SetRequireTPCRefit(kTRUE);
+ esdTrackCuts->SetRequireITSRefit(kTRUE);
+ esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+ AliESDtrackCuts::kAny);
+ esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
+ esdTrackCuts->SetMaxDCAToVertexZ(2);
+ esdTrackCuts->SetDCAToVertex2D(kFALSE);
+ esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+ } else {
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010 ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,0);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,1);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,0);
+ if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,1);
+ }
-
- /* standard cuts ITS-TPC 2011 */
- AliESDtrackCuts* esdTrackCutsStd2011 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2011");
- esdTrackCutsStd2011->GetStandardITSTPCTrackCuts2011(kTRUE,0);
-
- AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
- if (useStdCuts2011)
- trackFilter->AddCuts(esdTrackCutsStd2011);
- else
- trackFilter->AddCuts(esdTrackCutsStd2010);
- task->SetTrackFilter(trackFilter);
+ trackFilter->AddCuts(esdTrackCuts);
+ task->SetTrackFilter(trackFilter);
TString partName(task->GetSpeciesName(absPdgCode));
-
+
// Create containers for input/output
- AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
- AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("base_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(), partName.Data()));
- AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("timeZero_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
- AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("pid_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
- AliAnalysisDataContainer *cTRDcheckTOFqa = mgr->CreateContainer(Form("trd_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
- AliAnalysisDataContainer *cTriggerTOFqa = mgr->CreateContainer(Form("trigger_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
+ AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa", TChain::Class(),AliAnalysisManager::kInputContainer);
+ AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("base_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(), partName.Data()));
+ AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("timeZero_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
+ AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("pid_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
+ AliAnalysisDataContainer *cTRDcheckTOFqa = mgr->CreateContainer(Form("trd_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
+ AliAnalysisDataContainer *cTriggerTOFqa = mgr->CreateContainer(Form("trigger_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
// Attach i/o
- mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
+ mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(task, 1, cGeneralTOFqa);
mgr->ConnectOutput(task, 2, cTimeZeroTOFqa);
mgr->ConnectOutput(task, 3, cPIDTOFqa);
//pid response object
fESDpid=(AliESDpid*)inputHandler->GetPIDResponse();
if (!fESDpid) AliError("PIDResponse object was not created");
- // fESDpid->SetOADBPath("$ALICE_ROOT/OADB");
+ //fESDpid->SetOADBPath("$ALICE_ROOT/OADB");
Info("CreateOutputObjects","CreateOutputObjects (TList) of task %s", GetName());
OpenFile(1);
Printf("Momentum cut for eta and phi distributions set: Pt>%3.2f", fMatchingMomCut);
+ //check existence of track filter
+ if (!fTrackFilter){
+ Printf("No track filter found, skipping the track loop");
+ return;
+ }
+
// loop over ESD tracks
for (Int_t iTracks = 0; iTracks < fESD->GetNumberOfTracks(); iTracks++) {
AliESDtrack* track = fESD->GetTrack(iTracks);
}
//primary tracks selection: kTPCrefit and std cuts
- if (fTrackFilter){
- if(!fTrackFilter->IsSelected(track)) continue;
- } else {
- Printf("No track filter found, skipping the track loop");
- return;
- }
+ if (!fTrackFilter->IsSelected(track)) continue;
//select specie if MC
if ( fIsMC &&
Int_t charge = track->Charge();
+ //Fill histograms for primary particles
FillPrimaryTrkHisto(charge,"");
+
if (IsTPCTOFMatched(track)) {
fTof=track->GetTOFsignal()*1E-3;//in ps
//increment track counters
list->AddLast(hMatchedL);
TH2F* hMatchedDxVsPt = new TH2F(Form("hMatchedDxVsPt%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dx vs.p_{T}", cLabel.Data()), 1000,0.,10.,200, -10., 10.) ;
- HistogramMakeUp(hMatchedDxVsPt,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "GeV/c (p_{T})","dx (cm)");
+ HistogramMakeUp(hMatchedDxVsPt,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "p_{T} (GeV/c)","dx (cm)");
list->AddLast(hMatchedDxVsPt);
TH2F* hMatchedDzVsStrip = new TH2F(Form("hMatchedDzVsStrip%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dz vs. strip (#eta)", cLabel.Data()), 92,0.,92.,200, -10., 10.) ;
- HistogramMakeUp(hMatchedDzVsStrip,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "strip","dz (cm)");
+ HistogramMakeUp(hMatchedDzVsStrip,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "strip index","dz (cm)");
list->AddLast(hMatchedDzVsStrip) ;
TProfile *hMatchedDxVsCh = new TProfile(Form("hMatchedDxVsCh%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dx vs. channel", cLabel.Data()), 157248., 0.,157248.);
- HistogramMakeUp(hMatchedDxVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel","dx (cm)");
+ HistogramMakeUp(hMatchedDxVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel index","dx (cm)");
list->AddLast(hMatchedDxVsCh);
TProfile *hMatchedDzVsCh = new TProfile(Form("hMatchedDzVsCh%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dz vs. channel", cLabel.Data()), 157248., 0.,157248.);
- HistogramMakeUp(hMatchedDzVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel","dz (cm)");
+ HistogramMakeUp(hMatchedDzVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel index","dz (cm)");
list->AddLast(hMatchedDzVsCh);
return;
HistogramMakeUp(hExpTimePiT0Sub1GeV,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","","n. tracks used for t_{0}^{TOF}","t_{TOF}-t_{#pi,exp}-t_{0}^{TOF}");
list->AddLast(hExpTimePiT0Sub1GeV) ;
- TH1F* hExpTimePiFillSub = new TH1F(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data()), "%s trk t_{TOF}-t_{#pi,exp}-t_{0,fill}; t_{TOF}-t_{#pi,exp} -_{0,fill} [ps];entries", fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
+ TH1F* hExpTimePiFillSub = new TH1F(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk t_{TOF}-t_{#pi,exp}-t_{0,fill}",cLabel.Data()), fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
+ HistogramMakeUp(hExpTimePiFillSub,((charge>0)? kRed+2 : kBlue+2), 1, "", "","","t_{TOF}-t_{#pi,exp} -t_{0,fill} [ps]","entries");
list->AddLast(hExpTimePiFillSub) ;
-
+
TH1F* hExpTimePi = new TH1F(Form("hExpTimePi%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{#pi,exp}",cLabel.Data()), fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePi,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "t_{TOF}-t_{#pi,exp} [ps]","tracks");
list->AddLast(hExpTimePi);
HistogramMakeUp(hFiredMaxipadVsTrgPad, kBlue+2, 1, "colz", "","", "N_{pad} in trg window","N_{maxipad}");
fHlistTrigger->AddLast(hFiredMaxipadVsTrgPad);
- TH2I* hTrgMap = new TH2I(Form("hTrgMap%s",suffix.Data()), Form("Map of fired maxipads"), 72, 0, 72, 22, 0, 22);
+ TH2I* hTrgMap = new TH2I(Form("hTrgMap%s",suffix.Data()), Form("Map of fired maxipads"), 72, 0, 72, 23, 0, 23);
HistogramMakeUp(hTrgMap, kBlue+2, 1, "colz", "","", "LTM","maxipad");
fHlistTrigger->AddLast(hTrgMap);
if (suffix.Contains("Trd")) {
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
+ ((TH2F*)fHlistTRD->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
- ((TH2F*)fHlistTRD->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
}
} else {
((TH1F*)fHlist->FindObject(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlist->FindObject(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
+ ((TH2F*)fHlist->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlist->FindObject(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlist->FindObject(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
- ((TH2F*)fHlist->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
}
}
return;
if (suffix.Contains("Trd")) {
((TH1F*)fHlistTRD->FindObject(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlistTRD->FindObject(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
+ ((TH2F*)fHlistTRD->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlistTRD->FindObject(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlistTRD->FindObject(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
- ((TH2F*)fHlistTRD->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
}
} else {
((TH1F*)fHlist->FindObject(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlist->FindObject(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
+ ((TH2F*)fHlist->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlist->FindObject(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlist->FindObject(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
- ((TH2F*)fHlist->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
}
}
return;
class AliAnalysisTaskTOFqaID : public AliAnalysisTaskSE {
public:
+
+ enum ETrackCutSetTOFqa_t { kRun1Cuts = 0,
+ kStd2010,
+ kStd2010crossedRows,
+ kStd2011,
+ kStd2011crossedRows,
+ kNCutSetTOFqa };
+
AliAnalysisTaskTOFqaID();
AliAnalysisTaskTOFqaID(const char *name);
AliAnalysisTaskTOFqaID(const AliAnalysisTaskTOFqaID& copy);