19 #include <TClonesArray.h> 23 #include <TGeoGlobalMagField.h> 26 #include "AliAnalysisManager.h" 27 #include "AliInputEventHandler.h" 28 #include "AliESDEvent.h" 29 #include "AliAODEvent.h" 31 #include "AliGenPythiaEventHeader.h" 32 #include "AliMCEvent.h" 49 fReader(0), fCaloUtils(0),
50 fOutputContainer(new
TList ), fAnalysisContainer(new
TList ),
52 fMakeHisto(kFALSE), fMakeAOD(kFALSE),
53 fAnaDebug(0), fCuts(new
TList),
55 fFillDataControlHisto(1), fSumw2(0),
58 fhNEventsIn(0), fhNEvents(0),
59 fhNExoticEvents(0), fhNEventsNoTriggerFound(0),
60 fhNPileUpEvents(0), fhNPileUpEventsTriggerBC0(0),
61 fhXVertex(0), fhYVertex(0), fhZVertex(0),
62 fhXVertexExotic(0), fhYVertexExotic(0), fhZVertexExotic(0),
63 fhPtHard(0), fhPtHardWeighted(0),
64 fhPileUpClusterMult(0), fhPileUpClusterMultAndSPDPileUp(0),
66 fhCentrality(0), fhEventPlaneAngle(0),
67 fhNEventsWeighted(0), fhTrackMultWeighted(0),
68 fhCentralityWeighted(0), fhEventPlaneAngleWeighted(0),
69 fhNMergedFiles(0), fhScaleFactor(0),
70 fhEMCalBCEvent(0), fhEMCalBCEventCut(0),
71 fhTrackBCEvent(0), fhTrackBCEventCut(0),
72 fhPrimaryVertexBC(0), fhTimeStampFraction(0),
73 fhNPileUpVertSPD(0), fhNPileUpVertTracks(0),
75 fhClusterTriggerBC(0), fhClusterTriggerBCExotic(0),
76 fhClusterTriggerBCBadCell(0), fhClusterTriggerBCBadCellExotic(0),
77 fhClusterTriggerBCBadCluster(0), fhClusterTriggerBCBadClusterExotic(0),
78 fhClusterTriggerBCUnMatch(0), fhClusterTriggerBCExoticUnMatch(0),
79 fhClusterTriggerBCBadCellUnMatch(0), fhClusterTriggerBCBadCellExoticUnMatch(0),
80 fhClusterTriggerBCBadClusterUnMatch(0), fhClusterTriggerBCBadClusterExoticUnMatch(0),
81 fhClusterTriggerBCEventBC(0), fhClusterTriggerBCEventBCUnMatch(0),
82 fhClusterTriggerBCExoticEventBC(0), fhClusterTriggerBCExoticEventBCUnMatch(0)
84 AliDebug(1,
"*** Analysis Maker Constructor ***");
86 for(
Int_t i = 0; i < 3; i++)
160 for(
Int_t i = 0; i < 3; i++)
205 AliFatal(
"AnalysisContainer not initialized");
224 return aodBranchList ;
239 event->GetPrimaryVertex()->GetXYZ(v) ;
270 AliDebug(1,Form(
"Pythia event selected with pT hard %2.2f GeV/c and weight %2.2e",
294 if( triggerBC == 0 &&
321 for(
Int_t i = 0; i < 19; i++)
336 Int_t nVerticesSPD = -1;
337 Int_t nVerticesTracks = -1;
341 nVerticesSPD = esdevent->GetNumberOfPileupVerticesSPD();
342 nVerticesTracks = esdevent->GetNumberOfPileupVerticesTracks();
347 nVerticesSPD = aodevent->GetNumberOfPileupVerticesSPD();
348 nVerticesTracks = aodevent->GetNumberOfPileupVerticesTracks();
357 Int_t timeStamp = esdevent->GetTimeStamp();
380 Bool_t triggerBCOK = kTRUE;
391 triggerBCOK = kFALSE;
405 if(!triggerBCOK)
return;
408 if(eventBC%4 < 0 || eventBC%4 > 3 )
409 AliWarning(Form(
"STRANGE: Trigger BC %d - Event BC %d, modulo4 %d",triggerBC,eventBC,eventBC%4));
414 else if( exotic && badCluster)
420 else if( badCluster && !exotic )
431 if (!exotic && !badCluster)
438 else if( exotic && badCluster)
443 else if( exotic && !badCluster)
450 else if( badCluster && !exotic )
471 fCuts->Add(objstring);
479 if ( objstring )
fCuts->Add(objstring);
496 fhNEventsIn =
new TH1F(
"hNEventsIn",
"Number of input events" , 1 , 0 , 1 ) ;
500 fhNEvents =
new TH1F(
"hNEvents",
"Number of analyzed events" , 1 , 0 , 1 ) ;
504 fhXVertex =
new TH1F(
"hXVertex",
" X vertex distribution" , 200 , -1 , 1 ) ;
508 fhYVertex =
new TH1F(
"hYVertex",
" Y vertex distribution" , 200 , -1 , 1 ) ;
512 fhZVertex =
new TH1F(
"hZVertex",
" Z vertex distribution" , 200 , -50 , 50 ) ;
516 fhCentrality =
new TH1F(
"hCentrality",
"Number of events in centrality bin", 100, 0., 100) ;
520 fhEventPlaneAngle =
new TH1F(
"hEventPlaneAngle",
"Number of events in event plane", 100, 0., TMath::Pi()) ;
526 Form(
"Number of tracks per event with #it{p}_{T} > %2.2f GeV/#it{c} and |#eta|<%2.2f",
534 fhPtHard =
new TH1F(
"hPtHard",
" #it{p}_{T}-hard for selected triggers",300,0,300);
535 fhPtHard->SetXTitle(
"#it{p}_{T}^{hard} (GeV/#it{c})");
541 fhPtHardWeighted =
new TH1F(
"hPtHardWeighted",
" #it{p}_{T}-hard for selected triggers, weighted by cross section",300,0,300);
547 if (
GetReader()->GetWeightUtils()->IsCentralityWeightOn() )
549 fhNEventsWeighted =
new TH1F(
"hNEventsWeighted",
"Number of analyzed events weighted by centrality", 1 , 0 , 1 ) ;
553 fhCentralityWeighted =
new TH1F(
"hCentralityWeighted",
"Number of events in centrality bin weighted by centrality", 100, 0.,100) ;
557 fhEventPlaneAngleWeighted =
new TH1F(
"hEventPlaneAngleWeighted",
"Number of events in event plane weighted by centrality",100, 0., TMath::Pi()) ;
562 (
"hTrackMultWeighted",
563 Form(
"Number of tracks per weighted event with #it{p}_{T} > %2.2f GeV/#it{c} and |#eta|<%2.2f",
575 fhNExoticEvents =
new TH1F(
"hNExoticEvents",
"Number of analyzed events triggered by exotic cluster" , 1 , 0 , 1 ) ;
579 fhNEventsNoTriggerFound =
new TH1F(
"hNEventsNoTriggerFound",
"Number of analyzed events triggered but no trigger found" , 1 , 0 , 1 ) ;
586 Int_t labelshift = 6;
589 nbin , minbin ,maxbin,4,0, 4) ;
591 for(
Int_t i = 0; i < 4; i++)
594 for(
Int_t i = 1; i < 12; i++)
600 nbin , minbin ,maxbin,4,1, 4) ;
601 for(
Int_t i = 0; i < 4; i++)
604 for(
Int_t i = 1; i < 12; i++)
610 nbin , minbin ,maxbin,4,1, 4) ;
611 for(
Int_t i = 0; i < 4; i++)
614 for(
Int_t i = 1; i < 12; i++)
620 nbin , minbin ,maxbin,4,1, 4) ;
621 for(
Int_t i = 0; i < 4; i++)
624 for(
Int_t i = 1; i < 12; i++)
630 "Number of analyzed events triggered by a cluster in a given BC",
631 nbin , minbin ,maxbin) ;
633 for(
Int_t i = 1; i < 12; i++)
638 "Number of analyzed events triggered by a exotic cluster 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 cell in a given BC",
648 nbin , minbin ,maxbin) ;
651 for(
Int_t i = 1; i < 12; i++)
656 "Number of analyzed events triggered by a bad cell & exotic cluster in a given BC",
657 nbin , minbin ,maxbin) ;
659 for(
Int_t i = 1; i < 12; i++)
664 "Number of analyzed events triggered by a bad cluster in a given BC",
665 nbin , minbin ,maxbin) ;
668 for(
Int_t i = 1; i < 12; i++)
674 "Number of analyzed events triggered by a bad cluster & exotic cluster in a given BC",
675 nbin , minbin ,maxbin) ;
678 for(
Int_t i = 1; i < 12; i++)
683 "Number of analyzed events triggered by a cluster (no trigger patch match) in a given BC",
684 nbin , minbin ,maxbin) ;
686 for(
Int_t i = 1; i < 12; i++)
691 "Number of analyzed events triggered by a exotic cluster (no trigger patch match) in a given BC",
692 nbin , minbin ,maxbin) ;
694 for(
Int_t i = 1; i < 12; i++)
700 "Number of analyzed events triggered by a bad cluster (no trigger patch match) in a given BC",
701 nbin , minbin ,maxbin) ;
703 for(
Int_t i = 1; i < 12; i++)
709 "Number of analyzed events triggered by a bad&exotic cluster (no trigger patch match) in a given BC",
710 nbin , minbin ,maxbin) ;
712 for(
Int_t i = 1; i < 12; i++)
718 "Number of analyzed events triggered by a bad cluster (no trigger patch match) in a given BC",
719 nbin , minbin ,maxbin) ;
721 for(
Int_t i = 1; i < 12; i++)
727 "Number of analyzed events triggered by a bad&exotic cluster (no trigger patch match) in a given BC",
728 nbin , minbin ,maxbin) ;
730 for(
Int_t i = 1; i < 12; i++)
734 TString rematch[] = {
"OpenTime",
"CheckNeighbours",
"Both"};
735 for(
Int_t j = 0; j < 3; j++)
738 Form(
"Number of analyzed events triggered by a cluster (no trigger patch match) in a given BC, re-match %s",rematch[j].
Data()),
739 nbin , minbin ,maxbin) ;
741 for(
Int_t i = 1; i < 12; i++)
746 Form(
"Number of analyzed events triggered by a exotic cluster (no trigger patch match) in a given BC, re-match %s",rematch[j].
Data()),
747 nbin , minbin ,maxbin) ;
749 for(
Int_t i = 1; i < 12; i++)
754 fhXVertexExotic =
new TH1F(
"hXVertexExotic",
" X vertex distribution in exotic events" , 200 , -1 , 1 ) ;
758 fhYVertexExotic =
new TH1F(
"hYVertexExotic",
" Y vertex distribution in exotic events" , 200 , -1 , 1 ) ;
762 fhZVertexExotic =
new TH1F(
"hZVertexExotic",
" Z vertex distribution in exotic events" , 200 , -50 , 50 ) ;
767 fhNPileUpEvents =
new TH1F(
"hNPileUpEvents",
"Number of events considered as pile-up", 8 , 0 , 8 ) ;
779 fhNPileUpEventsTriggerBC0 =
new TH1F(
"hNPileUpEventsTriggerBC0",
"Number of events considered as pile-up, trigger cluster in BC=0", 8 , 0 , 8 ) ;
793 fhTrackBCEvent =
new TH1F(
"hTrackBCEvent",
"Number of events with at least 1 track in a bunch crossing ", 19 , 0 , 19 ) ;
796 for(
Int_t i = 1; i < 20; i++)
800 fhTrackBCEventCut =
new TH1F(
"hTrackBCEventCut",
"Number of events with at least 1 track in a bunch crossing ", 19 , 0 , 19 ) ;
803 for(
Int_t i = 1; i < 20; i++)
808 fhPrimaryVertexBC =
new TH1F(
"hPrimaryVertexBC",
"Number of primary vertex per bunch crossing ", 41 , -20 , 20 ) ;
813 fhEMCalBCEvent =
new TH1F(
"hEMCalBCEvent",
"Number of events with at least 1 cluster in a bunch crossing ", 19 , 0 , 19 ) ;
816 for(
Int_t i = 1; i < 20; i++)
820 fhEMCalBCEventCut =
new TH1F(
"hEMCalBCEventCut",
"Number of events with at least 1 cluster in a bunch crossing", 19 , 0 , 19 ) ;
823 for(
Int_t i = 1; i < 20; i++)
827 fhPileUpClusterMult =
new TH1F(
"hPileUpClusterMult",
"Number of clusters per event with large time (|t| > 20 ns)" , 100 , 0 , 100 ) ;
831 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 ) ;
835 fhNPileUpVertSPD =
new TH1F (
"hNPileUpVertSPD",
"N pile-up SPD vertex", 50,0,50);
845 fhTimeStampFraction =
new TH1F(
"hTimeStampFraction",
"Fraction of events within a given time stamp range",150, -1, 2) ;
851 fhNMergedFiles =
new TH1F(
"hNMergedFiles",
"Number of merged output files" , 1 , 0 , 1 ) ;
858 fhScaleFactor =
new TH1F(
"hScaleFactor",
"Number of merged output files" , 1 , 0 , 1 ) ;
866 if(
GetReader()->GetWeightUtils()->IsMCCrossSectionCalculationOn())
870 if ( templist && templist->GetEntries() == 2 )
872 templist->SetOwner(kFALSE);
884 templist->SetOwner(kFALSE);
886 for(
Int_t ih = 0; ih < templist->GetEntries() ; ih++)
904 AliWarning(
"Analysis job list not initialized!!!");
908 const Int_t buffersize = 255;
909 char newname[buffersize];
919 templist->SetOwner(kFALSE);
921 for(
Int_t i = 0; i < templist->GetEntries(); i++)
924 if( strcmp((templist->At(i))->ClassName(),
"TObjString") )
929 ((
TH1*) templist->At(i))->SetName(newname);
931 if (
fSumw2 ) ((
TH1*) templist->At(i))->Sumw2();
961 (AliAnalysisManager::GetAnalysisManager())->AddClassDebug(this->ClassName(),
fAnaDebug);
974 AliWarning(
"Analysis job list not initialized");
1014 printf(
"Events not processed\n");
1018 printf(
"***** Print: %s %s ******\n", GetName(), GetTitle() ) ;
1019 printf(
"Debug level = %d\n",
fAnaDebug ) ;
1020 printf(
"Produce Histo = %d\n",
fMakeHisto ) ;
1021 printf(
"Produce AOD = %d\n",
fMakeAOD ) ;
1024 if(!strcmp(
"all",opt))
1026 printf(
"Print analysis Tasks settings :\n") ;
1032 printf(
"Print analysis Reader settings :\n") ;
1034 printf(
"Print analysis Calorimeter Utils settings :\n") ;
1055 AliFatal(
"Histograms not initialized");
1057 AliDebug(1,Form(
"*** AliAnaCaloTrackCorrMaker::ProcessEvent() Event %d ***",iEntry));
1058 AliDebug(2,Form(
"Current File Name : %s", currentFileName));
1063 Int_t nAODBranches = aodList->GetEntries();
1064 for(
Int_t iaod = 0; iaod < nAODBranches; iaod++)
1066 TClonesArray *tca =
dynamic_cast<TClonesArray*
> (aodList->At(iaod));
1067 if(tca) tca->Clear(
"C");
1081 AliInputEventHandler *inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
1083 UInt_t isMBTrigger = kFALSE;
1084 UInt_t isTrigger = kFALSE;
1101 AliDebug(1,Form(
"*** Skip event *** %d",iEntry));
1118 AliDebug(1,
"*** Begin analysis ***");
1121 for(
Int_t iana = 0; iana < nana; iana++)
1131 if(!isTrigger)
continue;
1148 AliDebug(1,
"*** End analysis, MB for mixing ***");
1157 AliDebug(1,
"*** End analysis ***");
1170 AliError(
"No output list");
Bool_t IsPileUpFromSPD() const
TH2F * fhClusterTriggerBCExoticEventBCUnMatch
! Correlate the found BC in the exotic trigger and the event BC, when there was no match with the tri...
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)
Bool_t IsBadMaxCellTriggerEvent() const
TH2F * fhClusterTriggerBCEventBC
! Correlate the found BC in the trigger and the event BC.
TH1F * fhEMCalBCEventCut
! N events depending on the existence of a cluster above acceptance and E cut in a given bunch crossi...
Int_t GetNPileUpClusters()
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 * fhPtHardWeighted
! pt of parton, only for MC generation (pythia jet-jet/gamma-jet), weighted by cross section ...
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.
Int_t fFillDataControlHisto
Fill histograms only interesting with data. 0 not filled; 1 basic control; 2+ trigger related...
virtual Bool_t MakePlotsOn() const
virtual void MakeAnalysisFillHistograms()
virtual AliGenPythiaEventHeader * GetGenPythiaEventHeader() const
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...
void ana(anaModes mode=mLocal)
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.
Int_t GetTrackMultiplicity(Int_t cut=0) const
virtual TList * GetAODBranchList() const
Bool_t IsTriggerMatched() const
AliAnaCaloTrackCorrMaker()
virtual Int_t GetDebug() const
Bool_t IsMCCrossSectionJustHistoFillOn() const
TH1F * fhTrackMultWeighted
! Number of tracks per event histogram. After centrality weight.
virtual TObjString * GetListOfParameters()
Save parameters used for analysis in a string.
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
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
Bool_t IsMCCrossSectionCalculationOn() const
TH1F * fhPileUpClusterMult
! N clusters with high time.
TH1F * fhTrackMult
! Number of tracks per event histogram.
Int_t GetEMCalEventBC(Int_t bc) const
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
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 fCheckPtHard
For MC done in pT-Hard bins, plot specific histogram.
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.
TH1F * fhPtHard
! pt of parton, only for MC generation (pythia jet-jet/gamma-jet)
AliCaloTrackReader * GetReader()
void AccessGeometry(AliVEvent *inputEvent)
virtual TList * GetCreateControlHistograms()
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.
Bool_t fProcessEvent
In case of automatic wagon configuration, do not process analysis, but init stuff expected by manager...
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.