AliCounterCollection *trigCounter=new AliCounterCollection("trigCounter");
trigCounter->AddRubric("run",500000);
- trigCounter->AddRubric("triggerType","Any/MB/Cent/SemiCent/EMCAL");
+ trigCounter->AddRubric("triggerType","All/Any/MB/Cent/SemiCent/EMCAL/MUON/NoPhysSelMUON/NoPhysSelEvNot7/NoPhysSelCMUP1/NoPhysSelMB/NoPhysSelCent/NoPhysSelSemiCent");
trigCounter->Init();
fOutputEvSelection->Add(evselection);
fFlowEvent = new AliFlowEvent(3000);
fRFPcuts = new AliFlowTrackCuts("rfpCuts");
- TH1F *hFEvents = new TH1F("hFlowEvents","FlowEvent Selection",4,0,4);
+ TH2F *hFEvents = new TH2F("hFlowEvents","FlowEvent Selection",7,0,7,7,-10,60);
hFEvents->GetXaxis()->SetBinLabel(1,"REACHED");
hFEvents->GetXaxis()->SetBinLabel(2,"TRIGGERED");
- hFEvents->GetXaxis()->SetBinLabel(3,"-7<Zvtx<7 + CC(0-60)");
- hFEvents->GetXaxis()->SetBinLabel(4,"UnexpectedBehaviour");
+ hFEvents->GetXaxis()->SetBinLabel(3,"kMB");
+ hFEvents->GetXaxis()->SetBinLabel(4,"kCent");
+ hFEvents->GetXaxis()->SetBinLabel(5,"kSemiC");
+ hFEvents->GetXaxis()->SetBinLabel(6,"Triggered + vtx cut");
+ hFEvents->GetXaxis()->SetBinLabel(7,"UnexpectedBehaviour");
fOutputFlowObs->Add(hFEvents);
TProfile2D *hQ[3];
hPhiEta[i] = new TH3F( Form("h%s_PhiEta",ref[i].Data()),
Form("Eta vs Phi for %s",ref[i].Data()),
- 72,0,TMath::Pi(),etabin[i],-1.0*etamax[i],+1.0*etamax[i],12,0,60);
+ 144,0,TMath::TwoPi(),etabin[i],-1.0*etamax[i],+1.0*etamax[i],12,0,60);
hPhiEta[i]->GetXaxis()->SetTitle("Phi");
hPhiEta[i]->GetYaxis()->SetTitle("Eta");
hPhiEta[i]->GetZaxis()->SetTitle("Centrality");
hTPCVZE_AngleQ->GetYaxis()->SetTitle("#Psi_{2}^{VZE}");
hTPCVZE_AngleQ->GetZaxis()->SetTitle("Centrality");
fOutputFlowObs->Add(hTPCVZE_AngleQ);
+
+ TH2F *hCentVsMultRPS = new TH2F("hCentVsMultRPS", " Centrality Vs. Multiplicity RPs",5000, 0, 5000.,12,0,60 );
+ hCentVsMultRPS->GetXaxis()->SetTitle("Multiplicity RPs");
+ hCentVsMultRPS->GetYaxis()->SetTitle("Centrality");
+ fOutputFlowObs->Add(hCentVsMultRPS);
}
// AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
// AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler();
Double_t centrality=fCuts->GetCentrality(aod);
Double_t multiplicity=aod->GetHeader()->GetRefMultiplicity();
Int_t runNumber = aod->GetRunNumber();
+ TString trigClass=aod->GetFiredTriggerClasses();
if(fOnOff[4]) {
FillFlowObs(aod);
PostData(8,fOutputFlowObs);
hTrigC->Fill(-1.,centrality);
hTrigM->Fill(-1.,multiplicity);
-
+ trigCount->Count(Form("triggerType:All/Run:%d",runNumber));
+ if(evSelMask==0){
+ if(aod->GetEventType()!=7){
+ trigCount->Count(Form("triggerType:NoPhysSelEvNot7/Run:%d",runNumber));
+ }else if(trigClass.Contains("CMUP1")){
+ trigCount->Count(Form("triggerType:NoPhysSelCMUP1/Run:%d",runNumber));
+ }else if(trigClass.Contains("MUON")){
+ trigCount->Count(Form("triggerType:NoPhysSelMUON/Run:%d",runNumber));
+ }else if(trigClass.Contains("CPBI2_B1-B") || trigClass.Contains(" CPBI2WU_B1-B")){
+ trigCount->Count(Form("triggerType:NoPhysSelMB/Run:%d",runNumber));
+ }else if(trigClass.Contains("CCENT") || trigClass.Contains("CVHN")){
+ trigCount->Count(Form("triggerType:NoPhysSelCent/Run:%d",runNumber));
+ }else if(trigClass.Contains("CSEMI") || trigClass.Contains("CVLN")){
+ trigCount->Count(Form("triggerType:NoPhysSelSemiCent/Run:%d",runNumber));
+ }
+ }
if(evSelMask & AliVEvent::kAny){
hTrigC->Fill(0.,centrality);
hTrigM->Fill(0.,multiplicity);
if(evSelMask & (((AliVEvent::kCMUS5 | AliVEvent::kMUSH7) | (AliVEvent::kMUL7 | AliVEvent::kMUU7)) | (AliVEvent::kMUS7 | AliVEvent::kMUON))){
hTrigC->Fill(8.,centrality);
hTrigM->Fill(8.,multiplicity);
+ trigCount->Count(Form("triggerType:MUON/Run:%d",runNumber));
}
if(evSelMask & (AliVEvent::kPHI1 | AliVEvent::kPHI7)){
hTrigC->Fill(9.,centrality);
}
AliPIDResponse* respF=pidHF->GetPidResponse();
AliTPCPIDResponse* tpcres=new AliTPCPIDResponse();
- if(pidHF->GetOldPid()) pidHF->SetBetheBloch(*tpcres);
+ if(pidHF->GetOldPid()){
+ Double_t alephParameters[5];
+ pidHF->GetTPCBetheBlochParams(alephParameters);
+ tpcres->SetBetheBlochParameters(alephParameters[0],alephParameters[1],alephParameters[2],alephParameters[3],alephParameters[4]);
+ }
Bool_t oldPID=pidHF->GetOldPid();
//____________________________________________________________________________
void AliAnalysisTaskSEHFQA::FillFlowObs(AliAODEvent *aod){
//fills the flow observables
- ((TH1F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(0);
+ Double_t cc;
+ cc = fCuts->GetCentrality(aod);
+ ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(0., cc);
UInt_t mask=((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
UInt_t trigger=AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral;
- Double_t cc;
if(mask & trigger) {
- ((TH1F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(1); // fired
+ ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(1.,cc); // fired
+ if (mask & AliVEvent::kMB) ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(2.,cc);
+ if (mask & AliVEvent::kCentral) ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(3.,cc);
+ if (mask & AliVEvent::kSemiCentral) ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(4.,cc);
Bool_t rejected=false;
- cc = fCuts->GetCentrality(aod);
if(cc<0 || cc>60) rejected=true;
const AliVVertex *vertex = aod->GetPrimaryVertex();
Double_t zvtx=vertex->GetZ();
- if(TMath::Abs(zvtx)>7.) rejected=true;
+ if(TMath::Abs(zvtx)>fCuts->GetMaxVtxZ()) rejected=true;
if(rejected) return; //not interesting for flow QA
} else {
return;
}
// event accepted
- ((TH1F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(2);
-
+ ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(5.,cc);
fRFPcuts->SetParamType(AliFlowTrackCuts::kGlobal);
fRFPcuts->SetPtRange(0.2,5.);
fRFPcuts->SetEtaRange(-0.8,0.8);
}
fFlowEvent->Fill(fRFPcuts,fRFPcuts);
fFlowEvent->TagSubeventsInEta(-5,0,0,+5);
- // getting information
+ // getting informationt
AliFlowVector vQ, vQaQb[2];
fFlowEvent->Get2Qsub(vQaQb,2);
vQ = vQaQb[0]+vQaQb[1];
Double_t dMa=vQaQb[0].GetMult();
Double_t dMb=vQaQb[1].GetMult();
if( dMa<2 || dMb<2 ) {
- ((TH1F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(3); //???
+ ((TH2F*) fOutputFlowObs->FindObject("hFlowEvents"))->Fill(6.,cc); //???
continue;
}
psi[i] = vQ.Phi()/2;
if(!track->InRPSelection()) continue;
((TH3F*) fOutputFlowObs->FindObject( Form("h%s_PhiEta",ref[i].Data()) ))->Fill(track->Phi(),track->Eta(),cc,track->Weight()); //PhiEta
}
+
+ //histo filled only for TPCFB1
+ if (i==0) {
+ ((TH2F*) fOutputFlowObs->FindObject("hCentVsMultRPS"))->Fill(fFlowEvent->GetNumberOfRPs(),cc);
+ }
}
// TPC vs VZERO
((TH3F*) fOutputFlowObs->FindObject( "hTPCVZE_AngleQ" ))->Fill(psi[0],psi[2],cc);