19 #include <TClonesArray.h>
23 #include <TGeoGlobalMagField.h>
26 #include "AliAnalysisManager.h"
27 #include "AliInputEventHandler.h"
28 #include "AliESDEvent.h"
29 #include "AliAODEvent.h"
44 fReader(0), fCaloUtils(0),
45 fOutputContainer(new TList ), fAnalysisContainer(new TList ),
46 fMakeHisto(kFALSE), fMakeAOD(kFALSE),
47 fAnaDebug(0), fCuts(new TList),
49 fFillDataControlHisto(kTRUE), fSumw2(0),
51 fhNEventsIn(0), fhNEvents(0),
52 fhNExoticEvents(0), fhNEventsNoTriggerFound(0),
53 fhNPileUpEvents(0), fhNPileUpEventsTriggerBC0(0),
54 fhXVertex(0), fhYVertex(0), fhZVertex(0),
55 fhXVertexExotic(0), fhYVertexExotic(0), fhZVertexExotic(0),
56 fhPileUpClusterMult(0), fhPileUpClusterMultAndSPDPileUp(0),
58 fhCentrality(0), fhEventPlaneAngle(0),
59 fhNEventsWeighted(0), fhTrackMultWeighted(0),
60 fhCentralityWeighted(0), fhEventPlaneAngleWeighted(0),
61 fhNMergedFiles(0), fhScaleFactor(0),
62 fhEMCalBCEvent(0), fhEMCalBCEventCut(0),
63 fhTrackBCEvent(0), fhTrackBCEventCut(0),
64 fhPrimaryVertexBC(0), fhTimeStampFraction(0),
65 fhNPileUpVertSPD(0), fhNPileUpVertTracks(0),
67 fhClusterTriggerBC(0), fhClusterTriggerBCExotic(0),
68 fhClusterTriggerBCBadCell(0), fhClusterTriggerBCBadCellExotic(0),
69 fhClusterTriggerBCBadCluster(0), fhClusterTriggerBCBadClusterExotic(0),
70 fhClusterTriggerBCUnMatch(0), fhClusterTriggerBCExoticUnMatch(0),
71 fhClusterTriggerBCBadCellUnMatch(0), fhClusterTriggerBCBadCellExoticUnMatch(0),
72 fhClusterTriggerBCBadClusterUnMatch(0), fhClusterTriggerBCBadClusterExoticUnMatch(0),
73 fhClusterTriggerBCEventBC(0), fhClusterTriggerBCEventBCUnMatch(0),
74 fhClusterTriggerBCExoticEventBC(0), fhClusterTriggerBCExoticEventBCUnMatch(0)
76 AliDebug(1,
"*** Analysis Maker Constructor ***");
78 for(Int_t i = 0; i < 3; i++)
94 fOutputContainer(new TList()), fAnalysisContainer(new TList()),
95 fMakeHisto(maker.fMakeHisto), fMakeAOD(maker.fMakeAOD),
96 fAnaDebug(maker.fAnaDebug), fCuts(new TList()),
97 fScaleFactor(maker.fScaleFactor),
98 fFillDataControlHisto(maker.fFillDataControlHisto),
100 fhNEventsIn(maker.fhNEventsIn),
101 fhNEvents(maker.fhNEvents),
102 fhNExoticEvents(maker.fhNExoticEvents),
103 fhNEventsNoTriggerFound(maker.fhNEventsNoTriggerFound),
104 fhNPileUpEvents(maker.fhNPileUpEvents),
105 fhNPileUpEventsTriggerBC0(maker.fhNPileUpEventsTriggerBC0),
106 fhXVertex(maker.fhXVertex),
107 fhYVertex(maker.fhYVertex),
108 fhZVertex(maker.fhZVertex),
109 fhXVertexExotic(maker.fhXVertexExotic),
110 fhYVertexExotic(maker.fhYVertexExotic),
111 fhZVertexExotic(maker.fhZVertexExotic),
112 fhPileUpClusterMult(maker.fhPileUpClusterMult),
113 fhPileUpClusterMultAndSPDPileUp(maker.fhPileUpClusterMultAndSPDPileUp),
114 fhTrackMult(maker.fhTrackMult),
115 fhCentrality(maker.fhCentrality),
116 fhEventPlaneAngle(maker.fhEventPlaneAngle),
117 fhNEventsWeighted(maker.fhNEventsWeighted),
118 fhTrackMultWeighted(maker.fhTrackMultWeighted),
119 fhCentralityWeighted(maker.fhCentralityWeighted),
120 fhEventPlaneAngleWeighted(maker.fhEventPlaneAngleWeighted),
121 fhNMergedFiles(maker.fhNMergedFiles),
122 fhScaleFactor(maker.fhScaleFactor),
123 fhEMCalBCEvent(maker.fhEMCalBCEvent),
124 fhEMCalBCEventCut(maker.fhEMCalBCEventCut),
125 fhTrackBCEvent(maker.fhTrackBCEvent),
126 fhTrackBCEventCut(maker.fhTrackBCEventCut),
127 fhPrimaryVertexBC(maker.fhPrimaryVertexBC),
128 fhTimeStampFraction(maker.fhTimeStampFraction),
129 fhNPileUpVertSPD(maker.fhNPileUpVertSPD),
130 fhNPileUpVertTracks(maker.fhNPileUpVertTracks),
131 fhClusterTriggerBC(maker.fhClusterTriggerBC),
132 fhClusterTriggerBCExotic(maker.fhClusterTriggerBCExotic),
133 fhClusterTriggerBCBadCell(maker.fhClusterTriggerBCBadCell),
134 fhClusterTriggerBCBadCellExotic(maker.fhClusterTriggerBCBadCellExotic),
135 fhClusterTriggerBCBadCluster(maker.fhClusterTriggerBCBadCluster),
136 fhClusterTriggerBCBadClusterExotic(maker.fhClusterTriggerBCBadClusterExotic),
137 fhClusterTriggerBCUnMatch(maker.fhClusterTriggerBCUnMatch),
138 fhClusterTriggerBCExoticUnMatch(maker.fhClusterTriggerBCExoticUnMatch),
139 fhClusterTriggerBCBadCellUnMatch(maker.fhClusterTriggerBCBadCellUnMatch),
140 fhClusterTriggerBCBadCellExoticUnMatch(maker.fhClusterTriggerBCBadCellExoticUnMatch),
141 fhClusterTriggerBCBadClusterUnMatch(maker.fhClusterTriggerBCBadClusterUnMatch),
142 fhClusterTriggerBCBadClusterExoticUnMatch(maker.fhClusterTriggerBCBadClusterExoticUnMatch),
143 fhClusterTriggerBCEventBC(maker.fhClusterTriggerBCEventBC),
144 fhClusterTriggerBCEventBCUnMatch(maker.fhClusterTriggerBCEventBCUnMatch),
145 fhClusterTriggerBCExoticEventBC(maker.fhClusterTriggerBCExoticEventBC),
146 fhClusterTriggerBCExoticEventBCUnMatch(maker.fhClusterTriggerBCExoticEventBCUnMatch)
148 for(Int_t i = 0; i < 3; i++)
193 AliFatal(
"AnalysisContainer not initialized");
212 return aodBranchList ;
221 AliESDEvent* esdevent =
dynamic_cast<AliESDEvent*
> (event);
222 AliAODEvent* aodevent =
dynamic_cast<AliAODEvent*
> (event);
227 event->GetPrimaryVertex()->GetXYZ(v) ;
266 if( triggerBC == 0 &&
293 for(Int_t i = 0; i < 19; i++)
308 Int_t nVerticesSPD = -1;
309 Int_t nVerticesTracks = -1;
313 nVerticesSPD = esdevent->GetNumberOfPileupVerticesSPD();
314 nVerticesTracks = esdevent->GetNumberOfPileupVerticesTracks();
319 nVerticesSPD = aodevent->GetNumberOfPileupVerticesSPD();
320 nVerticesTracks = aodevent->GetNumberOfPileupVerticesTracks();
329 Int_t timeStamp = esdevent->GetTimeStamp();
352 Bool_t triggerBCOK = kTRUE;
363 triggerBCOK = kFALSE;
377 if(!triggerBCOK)
return;
380 if(eventBC%4 < 0 || eventBC%4 > 3 )
381 AliWarning(Form(
"STRANGE: Trigger BC %d - Event BC %d, modulo4 %d",triggerBC,eventBC,eventBC%4));
386 else if( exotic && badCluster)
392 else if( badCluster && !exotic )
403 if (!exotic && !badCluster)
410 else if( exotic && badCluster)
415 else if( exotic && !badCluster)
422 else if( badCluster && !exotic )
444 if(objstring)
fCuts->Add(objstring);
459 fhNEventsIn =
new TH1F(
"hNEventsIn",
"Number of input events" , 1 , 0 , 1 ) ;
463 fhNEvents =
new TH1F(
"hNEvents",
"Number of analyzed events" , 1 , 0 , 1 ) ;
467 fhXVertex =
new TH1F(
"hXVertex",
" X vertex distribution" , 200 , -4 , 4 ) ;
471 fhYVertex =
new TH1F(
"hYVertex",
" Y vertex distribution" , 200 , -4 , 4 ) ;
475 fhZVertex =
new TH1F(
"hZVertex",
" Z vertex distribution" , 200 , -50 , 50 ) ;
479 fhCentrality =
new TH1F(
"hCentrality",
"Number of events in centrality bin", 100, 0., 100) ;
483 fhEventPlaneAngle =
new TH1F(
"hEventPlaneAngle",
"Number of events in event plane", 100, 0., TMath::Pi()) ;
487 fhTrackMult =
new TH1F(
"hTrackMult",
"Number of tracks per events", 2000 , 0 , 2000) ;
491 if (
GetReader()->GetWeightUtils()->IsCentralityWeightOn() )
493 fhNEventsWeighted =
new TH1F(
"hNEventsWeighted",
"Number of analyzed events weighted by centrality", 1 , 0 , 1 ) ;
497 fhCentralityWeighted =
new TH1F(
"hCentralityWeighted",
"Number of events in centrality bin weighted by centrality", 100, 0.,100) ;
501 fhEventPlaneAngleWeighted =
new TH1F(
"hEventPlaneAngleWeighted",
"Number of events in event plane weighted by centrality",100, 0., TMath::Pi()) ;
505 fhTrackMultWeighted =
new TH1F(
"hTrackMultWeighted",
"Number of tracks per events weighted by centrality", 2000 , 0 , 2000) ;
512 fhNExoticEvents =
new TH1F(
"hNExoticEvents",
"Number of analyzed events triggered by exotic cluster" , 1 , 0 , 1 ) ;
516 fhNEventsNoTriggerFound =
new TH1F(
"hNEventsNoTriggerFound",
"Number of analyzed events triggered but no trigger found" , 1 , 0 , 1 ) ;
522 Float_t minbin =-5.5;
523 Float_t maxbin = 5.5;
524 Int_t labelshift = 6;
527 nbin , minbin ,maxbin,4,0, 4) ;
529 for(Int_t i = 0; i < 4; i++)
532 for(Int_t i = 1; i < 12; i++)
538 nbin , minbin ,maxbin,4,1, 4) ;
539 for(Int_t i = 0; i < 4; i++)
542 for(Int_t i = 1; i < 12; i++)
548 nbin , minbin ,maxbin,4,1, 4) ;
549 for(Int_t i = 0; i < 4; i++)
552 for(Int_t i = 1; i < 12; i++)
558 nbin , minbin ,maxbin,4,1, 4) ;
559 for(Int_t i = 0; i < 4; i++)
562 for(Int_t i = 1; i < 12; i++)
568 "Number of analyzed events triggered by a cluster in a given BC",
569 nbin , minbin ,maxbin) ;
571 for(Int_t i = 1; i < 12; i++)
576 "Number of analyzed events triggered by a exotic cluster in a given BC",
577 nbin , minbin ,maxbin) ;
579 for(Int_t i = 1; i < 12; i++)
585 "Number of analyzed events triggered by a bad cell in a given BC",
586 nbin , minbin ,maxbin) ;
589 for(Int_t i = 1; i < 12; i++)
594 "Number of analyzed events triggered by a bad cell & exotic cluster in a given BC",
595 nbin , minbin ,maxbin) ;
597 for(Int_t i = 1; i < 12; i++)
602 "Number of analyzed events triggered by a bad cluster in a given BC",
603 nbin , minbin ,maxbin) ;
606 for(Int_t i = 1; i < 12; i++)
612 "Number of analyzed events triggered by a bad cluster & exotic cluster in a given BC",
613 nbin , minbin ,maxbin) ;
616 for(Int_t i = 1; i < 12; i++)
621 "Number of analyzed events triggered by a cluster (no trigger patch match) in a given BC",
622 nbin , minbin ,maxbin) ;
624 for(Int_t i = 1; i < 12; i++)
629 "Number of analyzed events triggered by a exotic cluster (no trigger patch match) in a given BC",
630 nbin , minbin ,maxbin) ;
632 for(Int_t i = 1; i < 12; i++)
638 "Number of analyzed events triggered by a bad cluster (no trigger patch match) in a given BC",
639 nbin , minbin ,maxbin) ;
641 for(Int_t i = 1; i < 12; i++)
647 "Number of analyzed events triggered by a bad&exotic cluster (no trigger patch match) in a given BC",
648 nbin , minbin ,maxbin) ;
650 for(Int_t i = 1; i < 12; i++)
656 "Number of analyzed events triggered by a bad cluster (no trigger patch match) in a given BC",
657 nbin , minbin ,maxbin) ;
659 for(Int_t i = 1; i < 12; i++)
665 "Number of analyzed events triggered by a bad&exotic cluster (no trigger patch match) in a given BC",
666 nbin , minbin ,maxbin) ;
668 for(Int_t i = 1; i < 12; i++)
672 TString rematch[] = {
"OpenTime",
"CheckNeighbours",
"Both"};
673 for(Int_t j = 0; j < 3; j++)
676 Form(
"Number of analyzed events triggered by a cluster (no trigger patch match) in a given BC, re-match %s",rematch[j].Data()),
677 nbin , minbin ,maxbin) ;
679 for(Int_t i = 1; i < 12; i++)
684 Form(
"Number of analyzed events triggered by a exotic cluster (no trigger patch match) in a given BC, re-match %s",rematch[j].Data()),
685 nbin , minbin ,maxbin) ;
687 for(Int_t i = 1; i < 12; i++)
692 fhNPileUpEvents =
new TH1F(
"hNPileUpEvents",
"Number of events considered as pile-up", 8 , 0 , 8 ) ;
704 fhNPileUpEventsTriggerBC0 =
new TH1F(
"hNPileUpEventsTriggerBC0",
"Number of events considered as pile-up, trigger cluster in BC=0", 8 , 0 , 8 ) ;
718 fhTrackBCEvent =
new TH1F(
"hTrackBCEvent",
"Number of events with at least 1 track in a bunch crossing ", 19 , 0 , 19 ) ;
721 for(Int_t i = 1; i < 20; i++)
725 fhTrackBCEventCut =
new TH1F(
"hTrackBCEventCut",
"Number of events with at least 1 track in a bunch crossing ", 19 , 0 , 19 ) ;
728 for(Int_t i = 1; i < 20; i++)
733 fhPrimaryVertexBC =
new TH1F(
"hPrimaryVertexBC",
"Number of primary vertex per bunch crossing ", 41 , -20 , 20 ) ;
738 fhEMCalBCEvent =
new TH1F(
"hEMCalBCEvent",
"Number of events with at least 1 cluster in a bunch crossing ", 19 , 0 , 19 ) ;
741 for(Int_t i = 1; i < 20; i++)
745 fhEMCalBCEventCut =
new TH1F(
"hEMCalBCEventCut",
"Number of events with at least 1 cluster in a bunch crossing", 19 , 0 , 19 ) ;
748 for(Int_t i = 1; i < 20; i++)
752 fhXVertexExotic =
new TH1F(
"hXVertexExotic",
" X vertex distribution in exotic events" , 200 , -4 , 4 ) ;
756 fhYVertexExotic =
new TH1F(
"hYVertexExotic",
" Y vertex distribution in exotic events" , 200 , -4 , 4 ) ;
760 fhZVertexExotic =
new TH1F(
"hZVertexExotic",
" Z vertex distribution in exotic events" , 200 , -50 , 50 ) ;
764 fhPileUpClusterMult =
new TH1F(
"hPileUpClusterMult",
"Number of clusters per event with large time (|t| > 20 ns)" , 100 , 0 , 100 ) ;
768 fhPileUpClusterMultAndSPDPileUp =
new TH1F(
"hPileUpClusterMultAndSPDPileUp",
"Number of clusters per event with large time (|t| > 20 ns, events tagged as pile-up by SPD)" , 100 , 0 , 100 ) ;
772 fhNPileUpVertSPD =
new TH1F (
"hNPileUpVertSPD",
"N pile-up SPD vertex", 50,0,50);
782 fhTimeStampFraction =
new TH1F(
"hTimeStampFraction",
"Fraction of events within a given time stamp range",150, -1, 2) ;
788 fhNMergedFiles =
new TH1F(
"hNMergedFiles",
"Number of merged output files" , 1 , 0 , 1 ) ;
795 fhScaleFactor =
new TH1F(
"hScaleFactor",
"Number of merged output files" , 1 , 0 , 1 ) ;
803 if(
GetReader()->GetWeightUtils()->IsMCCrossSectionCalculationOn())
807 if ( templist && templist->GetEntries() == 2 )
809 templist->SetOwner(kFALSE);
818 AliWarning(
"Analysis job list not initialized!!!");
822 const Int_t buffersize = 255;
823 char newname[buffersize];
832 templist->SetOwner(kFALSE);
834 for(Int_t i = 0; i < templist->GetEntries(); i++)
837 if( strcmp((templist->At(i))->ClassName(),
"TObjString") )
842 ((TH1*) templist->At(i))->SetName(newname);
844 if (
fSumw2 ) ((TH1*) templist->At(i))->Sumw2();
875 (AliAnalysisManager::GetAnalysisManager())->AddClassDebug(this->ClassName(),
fAnaDebug);
891 AliWarning(
"Analysis job list not initialized");
925 printf(
"***** Print: %s %s ******\n", GetName(), GetTitle() ) ;
926 printf(
"Debug level = %d\n",
fAnaDebug ) ;
928 printf(
"Produce AOD = %d\n",
fMakeAOD ) ;
931 if(!strcmp(
"all",opt))
933 printf(
"Print analysis Tasks settings :\n") ;
939 printf(
"Print analysis Reader settings :\n") ;
941 printf(
"Print analysis Calorimeter Utils settings :\n") ;
960 AliFatal(
"Histograms not initialized");
962 AliDebug(1,Form(
"*** AliAnaCaloTrackCorrMaker::ProcessEvent() Event %d ***",iEntry));
963 AliDebug(2,Form(
"Current File Name : %s", currentFileName));
968 Int_t nAODBranches = aodList->GetEntries();
969 for(Int_t iaod = 0; iaod < nAODBranches; iaod++)
971 TClonesArray *tca =
dynamic_cast<TClonesArray*
> (aodList->At(iaod));
972 if(tca) tca->Clear(
"C");
985 AliAnalysisManager *manager = AliAnalysisManager::GetAnalysisManager();
986 AliInputEventHandler *inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
988 UInt_t isMBTrigger = kFALSE;
989 UInt_t isTrigger = kFALSE;
1006 AliDebug(1,Form(
"*** Skip event *** %d",iEntry));
1023 AliDebug(1,
"*** Begin analysis ***");
1026 for(Int_t iana = 0; iana < nana; iana++)
1036 if(!isTrigger)
continue;
1053 AliDebug(1,
"*** End analysis, MB for mixing ***");
1062 AliDebug(1,
"*** End analysis ***");
1073 AliError(
"No output list");
TH2F * fhClusterTriggerBCExoticEventBCUnMatch
! Correlate the found BC in the exotic trigger and the event BC, when there was no match with the tri...
Bool_t IsPileUpFromSPD() const
TH1F * fhTimeStampFraction
! event fraction depending on Time Stamp, only if activated on reader.
TH1F * fhNEvents
! Number of acepted events counter histogram.
virtual void SetCaloUtils(AliCalorimeterUtils *caloutils)
virtual Int_t GetDebug() const
Bool_t IsBadMaxCellTriggerEvent() const
TH2F * fhClusterTriggerBCEventBC
! Correlate the found BC in the trigger and the event BC.
ClassImp(AliAnalysisTaskTriggerRates) AliAnalysisTaskTriggerRates
TH1F * fhEMCalBCEventCut
! N events depending on the existence of a cluster above acceptance and E cut in a given bunch crossi...
Int_t GetNPileUpClusters()
void ana(Int_t mode=mGRID)
TH1F * fhClusterTriggerBCUnMatchReMatch[3]
! Number of events triggered, depending on BC of the cluster, not matched, open cuts and rematch...
TList * GetCreateOutputHistograms()
TH2F * fhClusterTriggerBCExoticEventBC
! Correlate the found BC in the exotic trigger and the event BC.
TList * fCuts
! List with analysis cuts.
TH1F * fhClusterTriggerBCBadClusterUnMatch
! Number of events triggered, depending on BC of the cluster.
TH1F * fhZVertexExotic
! Z Vertex distribution of exotic event.
TH1F * fhNPileUpVertTracks
! Number of pile-up vertices from tracks.
TH1F * fhClusterTriggerBCBadCell
! Number of events triggered, depending on BC of the cluster.
TH1F * fhNEventsIn
! Number of input events counter histogram.
virtual TObjString * GetAnalysisCuts()
void InitParameters()
Init data members.
TH1F * fhClusterTriggerBCBadCluster
! Number of events triggered, depending on BC of the cluster.
AliCalorimeterUtils * fCaloUtils
Pointer to AliCalorimeterUtils.
Bool_t WriteDeltaAODToFile() const
Int_t GetVertexBC(const AliVVertex *vtx)
TH1F * fhScaleFactor
! Factor to scale histograms.
virtual AliVEvent * GetInputEvent() const
TH1F * fhTrackBCEventCut
! N events depending on the existence of a track above acceptance and pt cut in a given bunch crossin...
Bool_t IsPileUpFromSPDAndNotEMCal() const
Check if event is from pile-up determined by SPD and not by EMCal.
virtual Bool_t MakePlotsOn() const
virtual void MakeAnalysisFillHistograms()
void AddAnalysis(TObject *ana, Int_t n)
Add analysis depending on AliAnaCaloTrackCorrBaseClass to list.
TH1F * fhClusterTriggerBCBadCellExoticUnMatch
! Number of events triggered, depending on BC of the cluster.
TH1F * fhNEventsWeighted
! Number of acepted events counter histogram. After centrality weight.
TH1F * fhEMCalBCEvent
! N events depending on the existence of a cluster in a given bunch crossing.
virtual void Terminate(TList *)
Double_t GetRunTimeStampMin() const
Double_t fScaleFactor
Scaling factor needed for normalization.
TList * GetOutputContainer()
TH1F * fhXVertexExotic
! X Vertex distribution of exotic event.
TH2F * fhClusterTriggerBCEventBCUnMatch
! Correlate the found BC in the trigger and the event BC, when there was no match with the trigger BC...
virtual Int_t GetEventCentrality() const
virtual TList * GetCreateOutputObjects()
Bool_t IsCentralityWeightOn() const
Int_t fAnaDebug
Debugging info.
Bool_t IsTriggerMatchedOpenCuts(Int_t i) const
Bool_t IsPileUpFromNotSPDAndNotEMCal() const
Check if event not from pile-up determined neither by SPD nor by EMCal.
void FillTriggerControlHistograms()
Fill here EMCal triggered events control histograms.
TH1F * fhTrackBCEvent
! N events depending on the existence of a track in a given bunch crossing.
TH1F * fhNPileUpEventsTriggerBC0
! N events pasing pile up cut.
TH1F * fhNMergedFiles
! Number of files merged.
void Terminate(TList *outputList)
virtual Bool_t FillInputEvent(Int_t iEntry, const char *currentFileName)
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
TH1F * fhXVertex
! X Vertex distribution of accepted event.
Bool_t IsPileUpFromSPDOrEMCal() const
Check if event is from pile-up determined by SPD or EMCal.
Bool_t IsPileUpFromEMCalAndNotSPD() const
Check if event is from pile-up determined by EMCal, not by SPD.
Double_t GetRunTimeStampMax() const
TH1F * fhClusterTriggerBC
! Number of events triggered, depending on BC of the cluster.
Base class for CaloTrackCorr analysis algorithms.
TH1F * fhClusterTriggerBCBadClusterExoticUnMatch
! Number of events triggered, depending on BC of the cluster.
virtual TList * GetAODBranchList() const
Bool_t IsTriggerMatched() const
AliAnaCaloTrackCorrMaker()
virtual Int_t GetDebug() const
TH1F * fhTrackMultWeighted
! Number of tracks per event histogram. After centrality weight.
Bool_t fMakeHisto
If true makes final analysis with histograms as output.
virtual Bool_t NewOutputAOD() const
Bool_t fSumw2
Call the histograms method Sumw2() after initialization, off by default, too large memory booking...
TH1F * fhNExoticEvents
! Number of events triggered by exotic, counter histogram.
TH1F * fhClusterTriggerBCExoticUnMatch
! Number of events triggered, depending on BC of the cluster.
Int_t GetTriggerClusterBC() const
Double_t GetEventWeight() const
UInt_t GetEventTriggerMask() const
Bool_t fFillDataControlHisto
Fill histograms only interesting with data.
TH1F * fhYVertex
! Y Vertex distribution of accepted event.
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
virtual TString GetAddedHistogramsStringToName() const
TH1F * fhPileUpClusterMult
! N clusters with high time.
TH1F * fhTrackMult
! Number of tracks per event histogram.
Int_t GetEMCalEventBC(Int_t bc) const
void ProcessEvent(Int_t iEntry, const char *currentFileName)
TH1F * fhClusterTriggerBCBadCellExotic
! Number of events triggered, depending on BC of the cluster.
TH1F * fhNPileUpEvents
! N events pasing pile up cut.
void SetCaloUtils(AliCalorimeterUtils *caloutils)
Bool_t IsAccessToTrackTimeOn() const
Bool_t IsSelectEventTimeStampOn()
TH1F * fhClusterTriggerBCBadCellUnMatch
! Number of events triggered, depending on BC of the cluster.
virtual void FillEventMixPool()
TH1F * fhNEventsNoTriggerFound
! Number of events where whatever was done, no trigger is found.
virtual ~AliAnaCaloTrackCorrMaker()
Destructor. Remove only owned pointers.
TH1F * fhEventPlaneAngle
! Histogram with Event plane angle.
virtual void SetReader(AliCaloTrackReader *reader)
UInt_t GetMixEventTriggerMask() const
virtual void ResetLists()
Reset lists, called in AliAnaCaloTrackCorrMaker.
Bool_t IsExoticEvent() const
TH1F * fhClusterTriggerBCExotic
! Number of events triggered, depending on BC of the cluster.
virtual TClonesArray * GetCreateOutputAODBranch()
Create AOD branch filled in the analysis.
Bool_t IsEventTriggerAtSEOn() const
TList * GetListOfAnalysisCuts()
TH1F * fhCentrality
! Histogram with centrality bins.
TH1F * fhZVertex
! Z Vertex distribution of accepted event.
virtual Double_t GetEventPlaneAngle() const
TH1F * fhClusterTriggerBCExoticUnMatchReMatch[3]
! Number of events triggered by exotic, depending on BC of the clusterm not matched, open cuts and rematch.
Int_t GetTrackEventBC(Int_t bc) const
Bool_t IsPileUpFromEMCal() const
Check if event is from pile-up determined by EMCal.
TH1F * fhClusterTriggerBCBadClusterExotic
! Number of events triggered, depending on BC of the cluster.
TList * FillAndGetAODBranchList()
void FillControlHistograms()
Fill here event control histograms.
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
TH1F * fhYVertexExotic
! Y Vertex distribution of exotic event.
AliCaloTrackReader * GetReader()
void AccessGeometry(AliVEvent *inputEvent)
Int_t GetTrackMultiplicity() const
AliCalorimeterUtils * GetCaloUtils()
AliAnaWeights * GetWeightUtils()
TH1F * fhCentralityWeighted
! Histogram with centrality bins. After centrality weight.
Bool_t fMakeAOD
If true makes analysis generating AODs.
void AccessOADB(AliVEvent *event)
TH1F * fhPrimaryVertexBC
! Primary vertex BC.
TList * fOutputContainer
! Output histograms container.
Int_t GetEMCalEventBCcut(Int_t bc) const
TH1F * fhPileUpClusterMultAndSPDPileUp
! N clusters with high time in events tagged as pile-up by SPD.
Bool_t IsBadCellTriggerEvent() const
virtual void MakeAnalysisFillAOD()
AliCaloTrackReader * fReader
Pointer to AliCaloTrackReader.
virtual void ConnectInputOutputAODBranches()
TList * fAnalysisContainer
List with analysis pointers.
TH1F * fhNPileUpVertSPD
! Number of pile-up vertices from SPD.
Int_t GetTrackEventBCcut(Int_t bc) const
Bool_t IsPileUpFromSPDAndEMCal() const
Check if event is from pile-up determined by SPD and EMCal.
TH1F * fhClusterTriggerBCUnMatch
! Number of events triggered, depending on BC of the cluster.
Int_t GetTriggerClusterId() const
TH1F * fhEventPlaneAngleWeighted
! Histogram with Event plane angle. After centrality weight.
Steering class of package CaloTrackCorrelartions.