32 #include "TObjString.h"
33 #include "TObjArray.h"
39 int main(
int argc,
char** argv) {
41 if(strlen(argv[1])!=strlen(argv[2])){
42 cerr <<
"Different Key Lengths" << endl;
46 TString key1(argv[1]);
47 TString key2(argv[2]);
57 TString key1head=key1(0,7);
59 TString key2head=key2(0,7);
62 if(key1head!=key2head){
63 cerr <<
"Different Headers" << endl;
67 TObjArray* key1tokens=key1.Tokenize(
"_=.");
68 TObjArray* key2tokens=key2.Tokenize(
"_=.");
70 int l=key1tokens->GetEntries();
71 if(l!=key2tokens->GetEntries()){
74 cerr <<
"Different Number of Tokens" << endl;
78 TString output(key1head);
83 TObjString* objtok1=(TObjString*)key1tokens->At(
i);
84 TObjString* objtok2=(TObjString*)key2tokens->At(
i);
85 TString tok1=objtok1->GetString();
86 TString tok2=objtok2->GetString();
89 if(tok1==
"pi+" && tok2==
"pi-"){
90 output.Append(
"pi+-");
92 else if(tok1==
"pi-" && tok2==
"pi+"){
93 output.Append(
"pi-+");
98 cerr <<
"Different Tokens" << endl;
102 else output.Append(tok1);
104 rest.Remove(0,tok1.Length());
106 output.Append(rest(0,1));
114 cout << output << endl;